我最近开始使用MS Prism开发一个新项目。在我的一个UI模块中,我有资源文件,我需要将它们添加到应用程序资源字典中。所以我写了这段代码来做到这一点:
uri = new Uri(string.Format(@"pack://application:,,,/{0};component/{1}",
"namespacename",
"Resources.xaml"));
Application.Current.Resources.MergedDictionaries
.Add(new ResourceDictionary
{
Source = uri,
});
在我的资源文件中,我有一个类似于Setate for 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'的初始化引发了异常。” 但当我删除这个setter时,它工作正常。 有什么想法吗?