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

How to change mouse cursor within Toggle button

我有一个 ToggleButton,单击此按钮时,处理时间可能需要一段时间,例如 3 到 5 秒。在那段时间,我想给用户一个反馈,将光标更改为等待状态。

ToggleButton 的点击是由 Command 处理的,因为我使用的是 MVVM 模式,所以我不处理点击事件,也无法使用隐藏代码更改它。

有没有办法只使用 xaml?

我试过了,但没用:

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

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

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