如何覆盖单个按钮的 WPF 主题样式

how to override WPF Theme style for a single button

我已成功将主题应用到我的 WPF 应用程序。

现在我需要一个特定的按钮来以完全不同的方式设置样式,但我无法覆盖应用的主题。

如何做到这一点?

创建两种样式。您已经为应用程序中的所有按钮创建了一个。现在创建另一种样式,但将 key 属性赋予它并将其分配给您的特定按钮。

在你的App.xaml中:

<Style TargetType="{x:Type Button}"> <!-- This is for generic button -->
    <Setter Property="FontSize" Value="12"/>
</Style>  

现在是您按下特定按钮的时间:

<Style TargetType="{x:Type Button}" x:Key="specificButton"> <!-- This is for specific button -->
    <Setter Property="FontSize" Value="20"/>
</Style>  

在您的页面或用户控件中:

<Button Width="200" Height="50" VerticalAlignment="Top" Margin="0,20,0,0" />
<Button Style="{StaticResource specificButton}" Width="200" Height="50" VerticalAlignment="Top" Margin="0,20,0,0" />  

希望对您有所帮助。