.net WPF更改按钮样式以在禁用时更改光标?
当.net WPF更改按钮样式以在禁用时更改光标?,.net,wpf,xaml,wpf-4.0,.net,Wpf,Xaml,Wpf 4.0,当IsEnabled为False时,我尝试了以下方法来更新按钮的光标: 但是按钮光标不会改变。。。如果我尝试改变其他属性,例如背景,这将很好。。。有人能解释一下为什么这不起作用吗?当元素被禁用时,鼠标悬停事件无法触发。光标将根据鼠标移动而改变。要解决此问题,请将另一个元素(如矩形)放置在按钮上,并在按钮被禁用时更改其光标。通过使其不透明度为“0”来隐藏矩形(无可见性=“折叠”)。 <Grid> <Button Content="Blah"
IsEnabled
为False
时,我尝试了以下方法来更新按钮的光标:
但是按钮光标不会改变。。。如果我尝试改变其他属性,例如背景,这将很好。。。有人能解释一下为什么这不起作用吗?当元素被禁用时,鼠标悬停事件无法触发。光标将根据鼠标移动而改变。要解决此问题,请将另一个元素(如矩形)放置在按钮上,并在按钮被禁用时更改其光标。通过使其不透明度为“0”来隐藏矩形(无可见性=“折叠”)。
<Grid>
<Button Content="Blah"
x:Name="btn"
IsEnabled="False" />
<Rectangle Opacity="0"
Fill="Transparent">
<Rectangle.Style>
<Style TargetType="Rectangle">
<Style.Triggers>
<DataTrigger Binding="{Binding ElementName=btn, Path=IsEnabled}"
Value="False">
<Setter Property="Cursor"
Value="No" />
</DataTrigger>
</Style.Triggers>
</Style>
</Rectangle.Style>
</Rectangle>
</Grid>
哈哈,我甚至没有想到鼠标事件在被禁用时会停止,谢谢你提醒我,在我向某人键入之前,我应该先测试一下。lol.+1矩形不在按钮的内容内。矩形和按钮,都在同一个容器(网格)中。啊,是的,我刚刚错过了按钮标签是自动关闭的对不起。