根据默认的自动设置,我创建了一个CustomControlLibrary.dll,其中包含一个Control(MyControl),其样式位于Themes文件夹的Generic.xaml中。
如果我想在两个不同的项目中包含该dll,每个项目都为“MyControl”提供自定义样式以赋予它不同的外观,我在哪里放置这些自定义样式?
我认为我必须为每个应用程序安装一个Themes \ Generic.xaml,它定义了自定义样式,但是在完成此操作后,它仍然使用CustomControlLibrary.dll中定义的样式
答案 0 :(得分:0)
您有CustomControlLibrary.dll,它是MyControl的所有者。在那个dll中你定义了你的主题。任何其他可能包含您的dll的项目都无法定义主题。
其他项目可以在其窗口资源中为MyControl定义其自定义样式。例如。
样式可以在任何级别定义。 :)
检查此链接:
答案 1 :(得分:0)
解决方案是为每个项目定义特定的样式并相应地应用它 但请记住,你可以创造适当的风格"继承"使用BasedOn属性。毕竟,您应该获得一组您在MergedDictionaries中管理的样式:
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="pack://application:,,,/CustomControlLibrary;component/styles.xaml"/>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>