你应该包括含有风格融入您的应用程序的资源字典作为MergedDictionary您的XAML文件:
<Application.Resources>
<ResourceDictionary>
<!-- here you can add some more resources -->
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="mystyles.xaml"/>
<!-- here you can add some dictionaries -->
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>
在这里看到的例子:http://www.wpftutorial.net/MergedDictionaryPerformance.html
或者实际上你可以直接把你的风格定义为应用程序的资源,没有合并的资源字典。但是这样,应用程序的资源通常会变得非常快。
编辑:
对于库的情况,您没有可用的App.xaml。所以,你需要做的基本上是以下几点:
- 添加资源字典到您的项目,并定义所需的样式出现。
- 在控件的资源中,将您的字典称为合并字典。
请注意,您需要指定的完整路径(“pack URI”)的字典:
<Control.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="pack://application:,,,/YourAssembly;component/Styles.xaml"/>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Control.Resources>
是的,我这样做我的程序项目,但我没有想到控制项目需要/有一个app.xaml文件。似乎第三方免费的网络自定义控制项目被作者ROFL翻录:P似乎一个自定义控件库只有一个Generic.xaml ...那么我应该如何从我的c#代码隐藏中访问这个generic.xaml? – Elisabeth 2010-11-06 12:31:50
@Lisa:你在开发一个图书馆,而不是一个应用程序? – Vlad 2010-11-06 12:33:31
实际上是:-) 10 now ... LOL – Elisabeth 2010-11-06 12:35:16