如何在标签中覆盖按钮的样式<Style>?



假设我有按钮样式的模板,但我想向一个特定的按钮添加一些数据触发器(在标签中(,但我不能这样做,因为样式已经定义

<Button Style="{DynamicResource MetroCircleButtonStyle}"> 
<Button.Style> // error - The property "Style" is set more than once
<Style TargetType="Button">
<Style.Triggers>
</Style.Triggers>
</Style>
</Button.Style>   
</Button>

如何在标签内设置Style="{Dynamicresource MetroCircleButtonStyle}"以避免错误<Style>

只需"覆盖"您的"MetroCircleButtonStyle",即可基于"MetroCircleButtonStyle"创建一个新样式。

<Style x:Key="MetroCircleButtonStyleWithChanges" TargetType="{x:Type Button}" BasedOn="{StaticResource MetroCircleButtonStyle}" />

在那里做你需要的任何事情。然后只需使用它:

<Button Style="{DynamicResource MetroCircleButtonStyleWithChanges}" /> 

如果您不再打算使用它,您可以在按钮中定义它,例如:

<Button>
<Button.Style>
<Style BasedOn="MetroCircleButtonStyle" TargetType="Button">
<!--Whatever you need-->
</Style>
</Button.Style>
</Button>

相关内容

最新更新