我有一个包含四个主要文件的简单资源字典
- 主窗口(带有一些控件)
- 申请
- 用户控制
- 资源词典(部分样式)
我希望资源字典中的样式可以在整个应用程序中访问,以便我可以在 MainWindow 和我的 UserControl 中使用它们。
我在我的 Application.Resources 中放置了一个带有源的资源字典
<ResourceDictionary Source="Assets/ButtonStyle"/>
但是,当我在 MainWindow 中将样式添加到控件时,它说找不到样式。它还表示在 Application.Resources 中的 ResourceDictionary 标记上需要一个 x:key。
我已将样式导入到 Application.Resources 中,它们工作正常。但是我想将它们保存在单独的资源字典文件中,因为我想分发它并使其保持有序。
最佳答案
将您的 ResourceDictionary
添加到全局 App.xaml
ResourceDictionary
的 MergedDictionaries
属性并提供任何其他资源一个 x:Key
:
<Application x:Class="WpfApplication1.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:WpfApplication1"
StartupUri="MainWindow.xaml">
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="Assets/ButtonStyle"/>
</ResourceDictionary.MergedDictionaries>
<SolidColorBrush x:Key="myBrush1" Color="Blue" />
<SolidColorBrush x:Key="myBrush2" Color="Red" />
</ResourceDictionary>
</Application.Resources>
</Application>
关于c# - 应用程序资源中的 WPF 资源字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44826361/