【问题标题】:How can i use a custom style with setters and triggers?如何将自定义样式与设置器和触发器一起使用?
【发布时间】:2015-02-02 18:34:05
【问题描述】:

我想做这样的事情,但显然我不能指定 2 个样式属性。我无法弄清楚将样式资源添加到“<Button.Style>”属性的语法。

<Button x:Name="CreateProductButton" Style="{StaticResource GoldButton}" Content="Add Product" Click="CreateProductButton_Click" TabIndex="4">
        <Button.Style>
            <Style TargetType="{x:Type Button}">
                <Setter Property="IsEnabled" Value="false" />
                <Style.Triggers>
                    <MultiDataTrigger>
                        <MultiDataTrigger.Conditions>
                            <Condition Binding="{Binding ElementName=OperatorId, Path=(Validation.HasError)}" Value="false" />
                            <Condition Binding="{Binding ElementName=NewProductId, Path=(Validation.HasError)}" Value="false" />
                            <Condition Binding="{Binding ElementName=NewYearId, Path=(Validation.HasError)}" Value="false" />
                        </MultiDataTrigger.Conditions>
                        <Setter Property="IsEnabled" Value="true" />
                    </MultiDataTrigger>
                </Style.Triggers>
            </Style>
        </Button.Style>
    </Button>

【问题讨论】:

    标签: c# wpf button styles


    【解决方案1】:

    如果您尝试使用现有样式并进行一些添加或更改,请使用Style.BasedOn。那就是:

    <Style x:Key="MyDerivedButtonStyle"
           TargetType="{x:Type Button}"
           BasedOn="{StaticResource GoldButton}">
        <Setter Property="IsEnabled" Value="false" />
        <Style.Triggers>
            ...
        </Style.Triggers>
    </Style>
    

    然后将 Button 的样式设置为 Style={StaticResource MyDerivedButtonStyle}

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-04-04
      • 2018-02-26
      • 2019-07-22
      • 2012-03-26
      • 2019-12-10
      • 1970-01-01
      • 1970-01-01
      • 2015-01-22
      相关资源
      最近更新 更多