Jor*_*mer 1 c# wpf border mouseevent
我正在尝试创建一个Border在悬停时显示/隐藏边框本身.期望的效果是在悬停时显示内容周围的边框,当鼠标离开该区域时,边框淡出.我无法弄清楚"淡出"部分.
下面的代码段使用了样式Triggers.它可以切换边框颜色.我怎样才能实现淡出?
<Border
BorderThickness="1"
>
<Border.Style>
<Style>
<Style.Triggers>
<Trigger
Property="Border.IsMouseOver"
Value="false">
<Setter
Property="Border.BorderBrush"
Value="Transparent" />
</Trigger>
<Trigger
Property="Border.IsMouseOver"
Value="true">
<Setter
Property="Border.BorderBrush"
Value="LightGray" />
</Trigger>
</Style.Triggers>
</Style>
</Border.Style>
Run Code Online (Sandbox Code Playgroud)
你可以尝试使用 ColorAnimation
就像是:
<Border.Style>
<Style TargetType="{x:Type Border}">
<Setter Property="BorderBrush"
Value="Transparent" />
<Style.Triggers>
<Trigger Property="IsMouseOver"
Value="True">
<Trigger.EnterActions>
<BeginStoryboard>
<Storyboard>
<ColorAnimation Duration="0:0:0.01"
Storyboard.TargetProperty="BorderBrush.Color"
To="LightGray" />
</Storyboard>
</BeginStoryboard>
</Trigger.EnterActions>
<Trigger.ExitActions>
<BeginStoryboard>
<Storyboard>
<ColorAnimation Duration="0:0:0.6"
Storyboard.TargetProperty="BorderBrush.Color"
To="Transparent" />
</Storyboard>
</BeginStoryboard>
</Trigger.ExitActions>
</Trigger>
</Style.Triggers>
</Style>
</Border.Style>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3371 次 |
| 最近记录: |