触发器在我转到路径对象之前不起作用



我有一个路径对象的样式,当我编写一个触发器时,这条路径被边框包围,直到我进入实际的路径对象才起作用。

风格

<Style TargetType="Path">
<Setter Property="Stroke" Value="{DynamicResource CloseButtonClr}"></Setter>
<Setter Property="Stretch" Value="Uniform"></Setter>
<Setter Property="StrokeThickness" Value="3"></Setter>
<Style.Triggers>
<Trigger Property="Border.IsMouseOver" Value="True">
<Setter Property="Stroke" Value="{DynamicResource LableClr}"/>
</Trigger>
</Style.Triggers>
</Style>

<Border Width="20" Grid.Column="2" Background="Transparent"  Margin="0,0,5,0" >
<Path  Data="M0,0 L1,1 M0,1 L1,0" />
</Border>

这是我的代码,如果我进入路径对象,那么触发器正在工作,如果进入边框和路径对象之间触发器不起作用,请帮助我wt我错过了谢谢

使用DataTrigger绑定到BorderIsMouseOver属性:

<Style TargetType="Path">
<Setter Property="Stroke" Value="{DynamicResource CloseButtonClr}"></Setter>
<Setter Property="Stretch" Value="Uniform"></Setter>
<Setter Property="StrokeThickness" Value="3"></Setter>
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Stroke" Value="{DynamicResource LableClr}"/>
</Trigger>
<DataTrigger Binding="{Binding IsMouseOver, RelativeSource={RelativeSource AncestorType=Border}}" Value="True">
<Setter Property="Stroke" Value="{DynamicResource LableClr}"/>
</DataTrigger>
</Style.Triggers>
</Style>

Path样式中的Trigger只能绑定到Path本身的属性。路径Border.IsMouseOver不会绑定到父Border元素。它将绑定到PathIsMouseOver属性。BorderPath都继承自实际定义属性的UIElement

相关内容

  • 没有找到相关文章

最新更新