将按钮样式应用于使用特定窗口样式的所有窗口

本文关键字:窗口 样式 按钮 应用于 | 更新日期: 2023-09-27 18:26:27

我在Application.Resources中创建了一个Window样式,如下所示:

<Style x:Key="MyWindowStyle" TargetType="Window">
  <!-- Stuff goes here -->
</Style>

我还有针对所有按钮的样式规则:

<Style TargetType="Button">
  <!-- Stuff goes here -->
</Style>

我也有一些不使用MyWindowStyle的窗口,我不想使用这种更改后的按钮样式。我可以重写按钮规则,使其仅适用于将MyWindowStyle设置为样式的窗口吗?如果您熟悉CSS选择器,这里有另一种说法:我可以使用与div.MyWindowStyle input[type=button]类似的样式逻辑吗?

将按钮样式应用于使用特定窗口样式的所有窗口

您可以嵌套样式。然后按钮样式将仅在MyWindowStyle中使用。

<Style x:Key="MyWindowStyle" TargetType="Window">
    <Style.Resources>
        <Style TargetType="Button">
            <!-- Stuff goes here -->
        </Style>
    </Style.Resources>
    <!-- Stuff goes here -->
</Style>