.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矩形不在按钮的内容内。矩形和按钮,都在同一个容器(网格)中。啊,是的,我刚刚错过了按钮标签是自动关闭的对不起。