2015-01-14 104 views
1

我成功将主题应用于我的WPF应用程序。如何覆盖单个按钮的WPF主题样式

现在我需要一个特定的按钮来以完全不同的方式进行样式设置,但我无法重写该主题适用的内容。

这怎么办?

+0

您是否尝试过使用在您的资源?我敢肯定,如果你为这种风格分配一个按钮,这将覆盖你的主题。 –

+0

@MikeEason它的作品,但是我怎样才能应用这种风格只在一个特定的命名控制?有没有像TargetName的东西? – sam

+0

不是我所知道的。您需要将按钮上的Style属性设置为对您的样式的引用。

回答

0

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

在你的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" /> 

希望它能帮助。