リソース ディクショナリ内で画像を宣言し、次のようにユーザー コントロールに表示しています。
ResourceDictionary.xaml (ユーザーが見ているもの (会社、従業員など) を変更したときに画像を更新する予定であるため、ここではスタイルを使用しています)
<ImageSource x:Key="CompanyIcon">Images/company_128.png</ImageSource>
<Style x:Key="QuickInfoIcon" TargetType="{x:Type Image}">
<!-- Default Value -->
<Setter Property="Source" Value="{StaticResource CompanyIcon}" />
</Style>
'Images' フォルダーは 'Assests' のサブフォルダーです。「Assests」フォルダーには「ResourceDictionary.xaml」ファイルが含まれており、パスを「../Images/company_128.png」のように変更するとデザイナー エラーが発生するため、パスが正しいことがわかっています。
QuickinfoView.xaml
<UserControl x:Class="SidekickAdmin.Views.QuickInfoView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
mc:Ignorable="d" d:DesignWidth="500" Height="100"
Background="BlanchedAlmond">
<!-- Setup a grid to house the icon and the info -->
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="100" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Grid Grid.Column="0" Name="InfoIcon">
<Image Style="{StaticResource QuickInfoIcon}" Height="50" Width="50"/>
</Grid>
</Grid>
</UserControl>
Visual Studio 2012 デザイナーでレイアウトを表示すると、すべてが正しく表示されますが、プログラムを実行すると、「XamlParseException が発生しました: テキスト 'Images/employee_128.png' から 'ImageSource' を作成できませんでした」というエラーが表示されます。ImageSource の ResourceDictionary 行に。
別のイメージを使用するように ImageSource を変更すると、VS2012 デザイナー内で期待どおりに更新されますが、プログラムを実行しようとすると同じエラーが発生します。
Resource.resx ファイルで Build Action を 'Embedded Resource' に設定しましたが、問題は解決していません。
このプログラムを実行しようとすると XamlParseException が発生する理由について何か考えはありますか?
副次的な質問として、プログラムに画像を組み込むときに、画像自体 (ファイル) がどこかの bin/debug フォルダーに表示されている必要がありますか、それとも bin/debug 内のファイルの 1 つにこの情報が隠されていますか?