【发布时间】:2017-01-30 16:30:51
【问题描述】:
我目前正在使用线程实现打印。到目前为止,(几乎)没有问题。
我被 xaml 解析异常卡住了一段时间,尽管我通过将 ResourceDictionaries 添加到我要打印的视图来修复它。该视图显然将尝试在其InitializeComponent 调用中加载在测试项目的app.xaml 中定义的ResourceDictionaries。
我们正在使用可以在运行时更改的主题。它们也有一些全局样式。
现在问题...有没有办法可以阻止UserControl 加载app.xaml 中定义的ResourceDictionaries 或InitializeComponent 中的任何其他位置?
基本上应用程序中的所有视图都使用带有样式的当前主题,用于打印的UserControls 应该不使用样式,并且根本不使用ResourceDictionary。
【问题讨论】:
-
字典的工作方式是它们向下级联可视树,因此如果您的控件有一个带有正确键的字典,则返回值,如果没有,则询问父级,然后询问父级父级,依此类推,直到它到达应用程序,因此您无法阻止它从应用程序加载,但您可以在本地覆盖应用程序的资源
标签: c# wpf xaml mvvm resourcedictionary