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>