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