应用程序资源中的 WPF 资源字典
WPF Resource Dictionary In Application Resources
我有一个包含四个主要文件的简单资源字典
- MainWindow(带有一些控件)
- 申请
- 用户控制
- 资源词典(部分样式)
我希望资源字典中的样式可以跨应用程序访问,以便我可以在 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>
我有一个包含四个主要文件的简单资源字典
- MainWindow(带有一些控件)
- 申请
- 用户控制
- 资源词典(部分样式)
我希望资源字典中的样式可以跨应用程序访问,以便我可以在 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>