如何在切换按钮内更改鼠标光标

时间:2015-02-18 21:16:19

标签: wpf xaml

我有一个ToggleButton,当点击此按钮时,处理时间可能需要一段时间,比如3到5秒。在此期间,我想向用户提供反馈,将光标更改为等待状态。

单击ToggleButton是由一个Command处理的,因为我正在使用MVVM模式,所以我不处理click事件,也不能使用后面的代码来改变它。

有没有办法只使用xaml?

我尝试了这个,但它不起作用:

<Style.Triggers>
  <Trigger Property="IsMouseCaptureWithin" Value="True">
    <Setter Property="Cursor" Value="Wait"></Setter>
  </Trigger>
</Style.Triggers>

1 个答案:

答案 0 :(得分:0)

您可以将ToggleButton上的IsChecked属性绑定到ViewModel或使用命令,当值更改或执行命令时,您可以更改第二个属性(称之为IsBusy)。然后创建一个DataTrigger,如:

<Style.Triggers>
  <DataTrigger Binding="{Binding IsBusy}" Value="True">
    <Setter Property="Cursor" Value="Wait"></Setter>
  </DataTrigger>
</Style.Triggers>