使用触发器设置一个按钮,以在鼠标上为true
题
我正在尝试设置一个按钮,因此仅当鼠标越过它时,按钮将其视觉属性更改为启用按钮。
这是我的代码:
<Button Foreground="Black" Content="OK" Margin="186,100,170,172" >
<Button.Style>
<Style TargetType="Button">
<Setter Property="IsEnabled" Value="False" />
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="IsEnabled" Value="True" />
</Trigger>
</Style.Triggers>
</Style>
</Button.Style>
</Button>
在此先感谢您的帮助。
解决方案
您可以将您的按钮封装在边框中以获取您的目标
<Border Name="buttonBorder" Margin="186,100,170,172"
Background="#01000000" BorderBrush="Transparent" BorderThickness="0">
<Button Foreground="Black" Content="OK">
<Button.Style>
<Style TargetType="Button">
<Setter Property="IsEnabled" Value="False" />
<Style.Triggers>
<DataTrigger Binding="{Binding ElementName=buttonBorder, Path=IsMouseOver}" Value="True">
<Setter Property="IsEnabled" Value="True" />
</DataTrigger>
</Style.Triggers>
</Style>
</Button.Style>
</Button>
</Border>
其他提示
我认为您不可能在这里做什么,因为在禁用该按钮时,Ismouseover是错误的(也不会生成Mousemove或其他事件)。
要实现您想要的东西(顺便说一句,为什么要在将鼠标放在上面时启用禁用按钮?这是如此不自然...如果您想使用键盘导航到按钮?如果禁用),则应重新安装按钮,并在鼠标未结束时使其看起来像在残疾状态下,并且在鼠标结束时启用状态处于启用状态 - 但这需要一些工作)。
不隶属于 StackOverflow