WPF でカーソルを変更すると、機能する場合もあれば機能しない場合もあります。質問する

WPF でカーソルを変更すると、機能する場合もあれば機能しない場合もあります。質問する

いくつかのユーザーコントロールでは、カーソルを変更するために

this.Cursor = Cursors.Wait;

何かをクリックしたとき。

今度は、WPF ページでボタンをクリックしたときに同じことを実行したいと思います。ボタンの上にマウスを移動すると、カーソルが手の形に変わりますが、クリックしても待機カーソルに変わりません。これは、ボタンであるという事実と関係があるのでしょうか、それとも、これがページであり、ユーザー コントロールではないためでしょうか。これは奇妙な動作のように思えます。

ベストアンサー1

カーソルが特定のページ/ユーザーコントロール上にあるときのみ「待機」カーソルになる必要がありますか? そうでない場合は、以下を使用することをお勧めします。マウス.OverrideCursor:

Mouse.OverrideCursor = Cursors.Wait;
try
{
    // do stuff
}
finally
{
    Mouse.OverrideCursor = null;
}

これにより、UI の一部だけではなく、アプリケーションのカーソルがオーバーライドされるため、説明している問題は解消されます。

おすすめ記事