Bor*_*ris 71 wpf xaml triggers
如何在XAML中为边框设置MouseOver事件/触发器?我希望当鼠标悬停在边框上时边框变为绿色,然后当鼠标不再在边框上时返回蓝色.为什么我不能只使用以下代码:
<Border
Name="ClearButtonBorder"
Grid.Column="1"
CornerRadius="0,3,3,0"
Background="Blue">
<Border.Triggers>
<Trigger Property="Border.IsMouseOver" Value="True">
<Setter Property="Border.Background" Value="Green" />
</Trigger>
<Trigger Property="Border.IsMouseOver" Value="False">
<Setter Property="Border.Background" Value="Blue" />
</Trigger>
</Border.Triggers>
<TextBlock
HorizontalAlignment="Center"
VerticalAlignment="Center"
Text="X" />
</Border>
Run Code Online (Sandbox Code Playgroud)
我真的没有在WPF中获得这些触发器和样式.这样的拖累是不能实现这样简单的事情..请为我提供解决方案并帮助我理解我的代码到底有什么问题?谢谢一堆.
Gro*_*kys 135
是的,这令人困惑......
根据这篇博客文章,看起来这是WPF的遗漏.
为了使它工作,你需要使用一种风格:
<Border Name="ClearButtonBorder" Grid.Column="1" CornerRadius="0,3,3,0">
<Border.Style>
<Style>
<Setter Property="Border.Background" Value="Blue"/>
<Style.Triggers>
<Trigger Property="Border.IsMouseOver" Value="True">
<Setter Property="Border.Background" Value="Green" />
</Trigger>
</Style.Triggers>
</Style>
</Border.Style>
<TextBlock HorizontalAlignment="Center" VerticalAlignment="Center" Text="X" />
</Border>
Run Code Online (Sandbox Code Playgroud)
我想这个问题并不常见,因为大多数人倾向于将这类事物分解为一种风格,因此它可以用于多个控件.
| 归档时间: |
|
| 查看次数: |
118222 次 |
| 最近记录: |