我有一个ToggleButton,当点击此按钮时,处理时间可能需要一段时间,比如3到5秒。在此期间,我想向用户提供反馈,将光标更改为等待状态。
单击ToggleButton是由一个Command处理的,因为我正在使用MVVM模式,所以我不处理click事件,也不能使用后面的代码来改变它。
有没有办法只使用xaml?
我尝试了这个,但它不起作用:
<Style.Triggers>
<Trigger Property="IsMouseCaptureWithin" Value="True">
<Setter Property="Cursor" Value="Wait"></Setter>
</Trigger>
</Style.Triggers>
答案 0 :(得分:0)
您可以将ToggleButton上的IsChecked属性绑定到ViewModel或使用命令,当值更改或执行命令时,您可以更改第二个属性(称之为IsBusy)。然后创建一个DataTrigger,如:
<Style.Triggers>
<DataTrigger Binding="{Binding IsBusy}" Value="True">
<Setter Property="Cursor" Value="Wait"></Setter>
</DataTrigger>
</Style.Triggers>