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

时间:2018-05-30 15:34:53

标签: wpf xaml triggers styles

假设我有按钮样式的模板,但是我想在一个特定按钮上添加一些DataTriggers(在标签中),但我不能这样做,因为Style已经定义了

&#xA;& #xA;
 &lt; Button Style =“{DynamicResource MetroCircleButtonStyle}”&gt; &#XA; &LT; Button.Style&GT; //错误 - 属性“Style”设置不止一次&#xA; &lt; Style TargetType =“Button”&gt;&#xA; &LT; Style.Triggers&GT;&#XA;&#XA; &LT; /Style.Triggers>&#XA; &LT; /样式和GT;&#XA; &LT; /Button.Style> &#XA; &lt; / Button&gt;&#xA;  
&#xA;&#xA;

如何在中设置 Style =“{Dynamicresource MetroCircleButtonStyle}” >&lt; Style&gt; 标记以避免错误?

&#xA;

1 个答案:

答案 0 :(得分:1)

只是&#34;覆盖&#34;你的&#34; MetroCircleButtonStyle&#34;根据&#34; MetroCircleButtonStyle&#34;。

创建一个新样式
 <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>