我创建了this和this之类的内容
实际上我有一个dll,为我的应用程序提供了一个“样式” - 它包含我的所有基本样式以及在应用程序上调用StylerFactory.DefaultStyler.ApplyStyles(this)
的工厂 - 它将提供的ResourceDictionaries与现有的合并。这样我就不需要组件中的所有基本样式,也不需要显式引用我的sesource-xaml文件。
现在 - 虽然这真的很好。样式(显然)在设计时不可见
我的问题:
答案 0 :(得分:0)
在我看来,这是一种可接受的方法。原因是,我还没有看到更好的方法。
在我自己的情况下,我已经在运行时using the code I described here加载了资源字典,我认为这也适用于从其他程序集加载资源。缺点是设计人员不会首先运行此代码,这意味着默认情况下不会应用任何样式,这是您遇到的问题。
为了抵消这种情况,我在我需要在设计时编辑的每个<ResourceDictionary.MergedDictionaries>
中添加了默认的<Window.Resources>
定义。虽然这最终有点多余,但这使我有了一个工作的设计时窗口,而适当的MergedDictionary可以在运行时加载。也许你可以用它来找到更好的方法。