J'ai un style de bouton:WPF Style: comment changer GradientStop couleur Trigger
<Style x:Key="ButtonStyle1" TargetType="{x:Type Button}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Button}">
<Grid>
<Path x:Name="path1" ... Data="...some data...">
<Path.Fill>
<LinearGradientBrush EndPoint="0.5,-0.3" StartPoint="0.5,0.8">
<GradientStop x:Name="gs1" Color="Green" Offset="0.44"/>
<GradientStop Color="Black" Offset="0.727"/>
</LinearGradientBrush>
</Path.Fill>
</Path>
<ContentPresenter ...properties... />
</Grid>
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter TargetName="???" Property="Color" Value="Green"></Setter>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
Je veux changer la couleur de GradientStop avec x: Name = "gs1" lorsque la souris est sur le bouton, donc j'utilise Trigger IsMouseOver. Comment puis-je avoir accès à Color Property in Trigger? J'ai essayé TargetName = "gs1" et TargetName = "path1.gs1" mais cela ne fonctionne pas. Une idée?
Il existe également un moyen d'indexer les GradientStops en XAML mais je ne peux pas obtenir un exemple de travail ... quelque chose comme , comme décrit sur http://books.google.com/books?id=XWu70Oqz6RIC&lpg=PA38&ots=FMR-4o3veZ&dq=pro%20wpf%202008%20with%20c%23%20gradientstops&pg=PA770#v=onepage&q=gradientstops&f=false –
vous peut le faire dans le code, NP, et je suis assez sûr que vous pourriez le faire avec une animation, mais je n'ai jamais vu un indexeur travaillant dans xaml –
Je l'ai utilisé avec succès pour faire