WPF нарисуйте границу при наведении мыши

У меня есть приложение WPF, где я пытаюсь сделать кнопку закрытия, как изображение. Я пытаюсь нарисовать границу или показать границу на мыши... Но я не могу заставить его работать. Я пробовал как 6 различных методов для этого...Изображения, границы с изображениями, кисти, ect.

на данный момент я использую следующий код:

<Canvas Name="cMin" Height="16" Width="16"
        Grid.Column="1" Grid.Row="1">
    <Canvas.Background>
        <ImageBrush ImageSource="_.png" Stretch="None" />
    </Canvas.Background>
    <Border BorderBrush="Transparent" BorderThickness="1" Background="Transparent" 
            CornerRadius="0" Height="18" Width="18">
         <Border.Style>
            <Style TargetType="Border">
                <Style.Triggers>
                    <Trigger Property="IsMouseOver" Value="True">
                        <Setter Property="BorderBrush" Value="LightBlue" />
                    </Trigger>
                    <Trigger Property="IsMouseOver" Value="False">
                        <Setter Property="BorderBrush" Value="Transparent" />
                    </Trigger>
                </Style.Triggers>
            </Style>
        </Border.Style>
    </Border>
</Canvas>

любая помощь будет оценили, Спасибо!

1 ответов


проблема в том, что ваше локальное значение для BorderBrush свойство имеет приоритет над вашим Style Trigger. эта статья MSDN описывает, как разрешается эффективное значение. В принципе, удалите локальное значение из Border элемент, и он должен работать. Если вам нужно указать свойство, вы можете сделать это в Setter на Style. Кроме того, второй Trigger не требуется, так как стоимость вернется к исходному значению, когда собственность переходит к false:

<Border BorderThickness="1" Background="Transparent" 
        CornerRadius="0" Height="18" Width="18">
     <Border.Style>
        <Style TargetType="Border">
            <Style.Triggers>
                <Trigger Property="IsMouseOver" Value="True">
                    <Setter Property="BorderBrush" Value="LightBlue" />
                </Trigger>
            </Style.Triggers>
        </Style>
    </Border.Style>
</Border>