Триггер не работает, пока я не дошел до своего объекта пути - PullRequest
0 голосов
/ 26 июня 2019

У меня есть стиль для моего объекта пути, этот путь окружен границей, когда я пишу триггер, который не работает, пока я не перешел к реальному объекту пути.

Style

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

это мой код, если я пошел по объекту пути, то триггер работает, если между границей и объектом пути перешел триггер, пожалуйста, помогите мне, почему я пропускаю спасибо

1 Ответ

2 голосов
/ 26 июня 2019

Используйте DataTrigger для привязки к IsMouseOver свойству Border:

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

A Trigger в стиле Path может связываться только со свойством Path. Путь Border.IsMouseOver не будет привязан к родительскому элементу Border. Он будет привязан к IsMouseOver свойству Path. И Border, и Path наследуются от UIElement, где свойство фактически определено.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...