WPF:如何正确引用资源字典中的样式?

时间:2019-02-09 18:31:46

标签: wpf xaml

我创建了一个单独的styles.xaml文件,如下所示:

<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
    <Style x:Key="NewButtons" TargetType="Button">
        <!-- style code here -->
    </Style>
</ResourceDictionary>

在我的App.xaml文件中,我将其添加为资源字典,如下所示:

<ResourceDictionary x:Key="CustomStyles">
    <ResourceDictionary.MergedDictionaries >
        <ResourceDictionary Source="pack://application:,,,/styles/styles.xaml"/>
    </ResourceDictionary.MergedDictionaries>
</ResourceDictionary>

但是,现在我不太确定如何在我的一个窗口中正确引用它作为样式。我试图创建一个像这样的按钮,但是没用:

<Button Style="{StaticResource CustomStyles}" />

这给了我一个错误警告,提示“无法将类型为'System.Windows.ResourceDictionary'的对象应用于期望类型为'System.Windows.Style'的属性”

我明白了这个错误的含义,并且我确定此修复程序是很小的一个人,我只是对XAML语法了解得还不够,所以不知道那是什么。

1 个答案:

答案 0 :(得分:0)

您将ResourceDictionary称为Style,而不是Key称为Style

尝试一下:

<Button Style="{StaticResource NewButtons}" />