Wpf 具有Gredient的数据触发器设置器

Wpf 具有Gredient的数据触发器设置器,wpf,xaml,Wpf,Xaml,如何将样式设置器设置为渐变色,如下所示: <Grid Width="350" Height="180" HorizontalAlignment="Left" Margin="10,10,0,0"> <Grid.Style> <Style TargetType="Grid"> <Style.Triggers> <

如何将样式设置器设置为渐变色,如下所示:

        <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不接受

您必须对setter的值使用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>