我有一个WPF程序,带有一个主窗口,该程序利用位于子文件夹中的一些资源字典,如您在此处看到的(我们很快就会明白,为什么我要突出显示其中之一):
在我的 MainWindow.xaml 的顶部,包括一些这些资源词典,例如:
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="pack://application:,,,/XamlResources/ControlTemplates.xaml" />
<ResourceDictionary Source="pack://application:,,,/XamlResources/TextBlockStyles.xaml" />
<ResourceDictionary Source="pack://application:,,,/XamlResources/Styles.xaml" />
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
因此,显然一切都应达到了,程序确实可以编译并运行良好。没有例外,没有警告,一切都很好。除非不是。因为在Visual Studio编辑器中,这是设计窗口显示的内容:
当一切看起来都应该正确时,为什么会出现此错误?我尝试使用“查找”功能来搜索 controltemplate.xaml 的其他事件,但是我只找到有效的引用。这是某种Visual Studio错误吗?如果是,该如何解决?
更新
摆弄XAML(例如更改源的格式化方式)有时会导致错误更改为SqlException,如下所示:
我不知道为什么会这样,或者为什么异常似乎会不时发生变化。我正在使用实体框架,如果这可能是根本原因,但是我没有安装本地SQL Server。但是,在以前的项目中这并不是问题。
答案 0 :(得分:0)
我们的应用程序中有一个类似的设置,并使用它:
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="/Your.Assembly.Name;component/XamlResources/TextBlockStyles.xaml" />
<!-- ... -->
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>