2009-12-02 15 views
3

J'ai un Ellipse défini comme siDataTrigger/Style rapide en XAML

<Ellipse Stroke="#FF474747" Style="{StaticResource SelectedTemplate}" Fill="{StaticResource RedGradient}" /> 

J'ai aussi deux styles configuration comme si

<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> 

Maintenant, lorsque l'Ellipse est d'abord tirée est rouge comme par le RedGradientBrush. Je veux faire le vert ellipse lorsqu'une valeur binded (sélectionnée) est vrai si j'ai ajouté un style à faire

<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> 

Maintenant, quand il est sélectionné est vrai que les changements de StrokeThickness, rien d'autre? Quelqu'un peut-il aider s'il vous plaît?

Merci

Répondre

2

styles en ligne Apparemment, XAML l'emportent sur ceux que vous définissez. C'est pourquoi seul le StrokeThickness a été modifié car il n'a pas été défini en ligne.