Q066. ViewModel のコマンド内でマウスカーソルを変更するには?

A. Mouse.OverrideCursor プロパティを使ってアプリケーションのカーソルを設定できます。


MVVM パターンだと ViewModel から View の操作をしないため、コマンド実行時にどうやって Window のマウスカーソル変更すんだろうとしばらく考えてましたが、いろいろぐぐってるうち Mouse.OverrideCursor を使えばいことが判りました。

待機カーソルは以下のように Cursors.Wait で上書きします。

Mouse.OverrideCursor = System.Windows.Input.Cursors.Wait


解除するにはヌル(VB なら Nothing) を指定します。Try 〜 Finally ステートメントの Finally ブロック内で設定するよう実装すればいいと思います。

Mouse.OverrideCursor = Nothing


WPF FAQ の目次に戻る