将Button的默认样式应用于CustomButton

时间:2013-08-09 06:36:42

标签: c# wpf xaml

出于某种原因,我制作了一个CustomButton:Button。

<Button x:Name="button1"/>
<my:CustomButton x:Name="button2"/>

问题是button2看起来不像button1, 因为默认的Button主题不适用于CustomButton。

我将button1的样式绑定到button2。

<Button x:Name="button1"/>
<my:CustomButton x:Name="button2" Style="{Binding Style, ElementName=button1}"/>

但事实并非如此。

有没有办法将默认Button样式应用于CustomButton?

修改2013/08/10

CustomButton继承了Button。

我的问题是:当我将button1button2添加到ToolBar时,button2看起来不像button1,而是像普通按钮。

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

<Style x:Key="ButtonStyle"  TargetType="BaseTypeOfButtonAndCustomButton">
</Style>
<Style TargetType="Button" BasedOn="{StaticResource ButtonStyle}">
</Style>
<Style TargetType="CustomButton" BasedOn="{StaticResource ButtonStyle}">
</Style>

其中BaseTypeOfButtonAndCustomButton是Button和CustomButton的基类。为了在样式中设置公共属性,它是必需的。然后,您可以基于ButtonStyle构建新的两个样式,默认情况下将应用于Button和CustomButton。