我有一个椭圆定义如下
<Ellipse Stroke="#FF474747" Style="{StaticResource SelectedTemplate}" Fill="{StaticResource RedGradient}" />
我也设置了两种样式,如下所示。
<RadialGradientBrush x:Key="RedGradient" GradientOrigin="1,1">
<GradientStop Color="White"/>
<GradientStop Color="Red" Offset="1"/>
</RadialGradientBrush>
<RadialGradientBrush x:Key="GreenGradient" GradientOrigin="1,1">
<GradientStop Color="White"/>
<GradientStop Color="Green" Offset="1"/>
</RadialGradientBrush>
现在,当椭圆首次绘制时,它是红色的,根据RedGradientBrush。当绑定的值(Selected)为真时,我想将椭圆变成绿色,因此我添加了一个样式来实现这一点。
<Style x:Key="SelectedTemplate" TargetType="Ellipse">
<Style.Triggers>
<DataTrigger Value="True" Binding="{Binding Selected}">
<Setter Property="Stroke" Value="White" />
<Setter Property="StrokeThickness" Value="5" />
<Setter Property="Fill" Value="{StaticResource GreenGradient}" />
</DataTrigger>
</Style.Triggers>
</Style>
现在,只有当Selected为True时,StrokeThickness才会改变,其他什么都不会发生?有人能帮忙吗?
谢谢。