具有Gredient的DataTrigger设置器

时间:2018-07-28 22:05:39

标签: wpf xaml

如何将样式设置器设置为渐变色之类的东西:

        <Grid  Width="350" Height="180" HorizontalAlignment="Left" Margin="10,10,0,0">

        <Grid.Style>

            <Style TargetType="Grid">
                <Style.Triggers>
                    <DataTrigger Binding="{Binding State}" 
                        Value="Active">
                        <Setter Property="Grid.Background" Value="#FF41B1E1">
                        </Setter>
                    </DataTrigger>

                    <DataTrigger 
                        Binding="{Binding State}" 
                        Value="Disabled">
                        <Setter>
                            <Grid.Background>
                                <LinearGradientBrush StartPoint="0,1">
                                    <GradientStop Color="#4097DA" Offset=".0"></GradientStop>
                                    <GradientStop Color="#BA63CB" Offset="1"></GradientStop>
                                </LinearGradientBrush>
                            </Grid.Background>
                        </Setter>
                    </DataTrigger>
                </Style.Triggers>
            </Style>
        </Grid.Style>

当然,这里的第二个Setter不起作用,因为Setter没有使用

1 个答案:

答案 0 :(得分:1)

您必须使用XML标记语法作为设置者的值:

<DataTrigger Binding="{Binding State}" Value="Disabled">
    <Setter Property="Background">
        <Setter.Value>
            <LinearGradientBrush StartPoint="0,1">
                <GradientStop Color="#4097DA" Offset=".0"></GradientStop>
                <GradientStop Color="#BA63CB" Offset="1"></GradientStop>
            </LinearGradientBrush>
        </Setter.Value>
    </Setter>
</DataTrigger>