C# 应用程序资源中的WPF资源字典
我有一个包含四个主要文件的简单资源字典C# 应用程序资源中的WPF资源字典,c#,wpf,resourcedictionary,wpf-style,C#,Wpf,Resourcedictionary,Wpf Style,我有一个包含四个主要文件的简单资源字典 主窗口(带有一些控件) 应用 用户控制 资源字典(带有一些样式) 我希望资源字典中的样式可以在整个应用程序中访问,这样我就可以在MainWindow和我的UserControl中使用它们 我在应用程序中放置了一个带有源的资源字典。参考资料 <ResourceDictionary Source="Assets/ButtonStyle"/> 但是,当我在主窗口中向控件添加样式时,它会说找不到样式。它还说它需要在Application.Re
- 主窗口(带有一些控件)
- 应用
- 用户控制
- 资源字典(带有一些样式)
<ResourceDictionary Source="Assets/ButtonStyle"/>
但是,当我在主窗口中向控件添加样式时,它会说找不到样式。它还说它需要在Application.Resources中的ResourceDictionary标记上有一个x:key
我已经将样式导入到应用程序中。资源和它们工作良好。但是,我希望将它们保存在单独的资源字典文件中,因为我希望分发它们并使其保持有序
非常感谢您的帮助!:) 将您的
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>
这要求资源字典有一个x:Key,您的示例中没有显示该键。这是一个屏幕抓图:而且,这会导致另一个错误,即“属性”资源“只能在“Application.resources”行上设置一次”。