我最近使用 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,
});
在我的资源文件中,我有 Datatemplate 的 Setter,它看起来像这样:
<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'的初始化引发异常。” 但是当我删除这个设置器时,它工作正常。任何想法?