最近、MS Prism を使用して新しいプロジェクトを開始しました。私のUIモジュールの1つに、アプリケーションリソースディクショナリに追加する必要があるリソースファイルがあります..だから私はそれを行うためにこのコードを書きました:
uri = new Uri(string.Format(@"pack://application:,,,/{0};component/{1}",
"namespacename",
"Resources.xaml"));
Application.Current.Resources.MergedDictionaries
.Add(new ResourceDictionary
{
Source = uri,
});
私のリソース ファイルには、次のような Datatemplate のセッターがあります。
<DataTemplate.Triggers>
<DataTrigger Binding="{Binding State}" Value="Modified">
<Setter TargetName="img" Property="Source" Value="../Images/ICO/Modify.ico"/>
</DataTrigger>
<DataTrigger Binding="{Binding State}" Value="Added">
<Setter TargetName="img" Property="Source" Value="../Images/ICO/Add.ico" />
</DataTrigger>
</DataTemplate.Triggers>
問題は、リソース ファイルの読み込み時に「'System.Windows.Setter' の初期化で例外がスローされました」というメッセージがスローされることです。しかし、このセッターを削除すると、正常に動作します。何か案が?