【发布时间】:2011-01-30 01:50:59
【问题描述】:
我有一个按钮样式:
<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>
当鼠标悬停在按钮上时,我想用 x:Name="gs1" 更改 GradientStop 的颜色,所以我使用 Trigger IsMouseOver。如何访问触发器中的颜色属性?我试过 TargetName="gs1" 和 TargetName="path1.gs1" 但它不起作用。有什么想法吗?
【问题讨论】:
标签: wpf button triggers styles