この記事は機械翻訳されています。英語版の記事を表示するには、[英語] のチェック ボックスをオンにしてください。また、テキストにマウス ポインターを合わせると、ポップアップ ウィンドウに英語のテキストを表示することもできます。
翻訳
英語

FrameworkElement.Cursor プロパティ

 

公開日: 2016年10月

この要素上にマウス ポインターが置かれたときに表示されるカーソルを取得または設定します。

名前空間:   System.Windows
アセンブリ:  PresentationFramework (PresentationFramework.dll 内)

public Cursor Cursor { get; set; }

プロパティ値

Type: System.Windows.Input.Cursor

表示対象のカーソル。 既定値はこの依存関係プロパティごとに null として定義されます。 ただし、実行時における実用的な既定値は、さまざまな要因から取得されます。

このプロパティを設定すると XAML, 、 XAML の型変換にプロセッサが依存しています、 Cursor 文字列を評価するクラス。 指定された文字列に評価、 CursorType 値。 詳細については、「Cursor」を参照してください。

このプロパティによって確立されると、カーソルは、マウス ポインターがこの要素は表示されないかどうかの値に依存しても、 ForceCursor プロパティです。 アクティブなドラッグ、マウスのキャプチャ、編集モード、コントロール内のテキストなどのイベント関連の考慮事項では、このプロパティで指定した値よりも優先順位の高い、カーソルは影響はもします。

このプロパティを最終的な既定値に設定の動作を元に戻すに設定 null 再度します。

null 既定、つまり本当に、実際的なカーソルの値の決定はここでは遅延し、別の場所から取得する必要があります。 任意のソースからプログラムで値を使用せず、提示された場合の既定のカーソルを視覚的に、 Windows Presentation Foundation (WPF) アプリケーションは矢印になります。 ただし、カーソルの一時的な変更に設定されていない、 Cursor を介して渡されるときは、要素の値。 Cursor プロパティはのみレポート非 null 値でそれが実際に設定されている場合、たとえばコードまたはスタイルを使用します。 上にあるマウスが移動するたび、 WPF アプリケーションが例外を QueryCursor イベントです。 イベント バブル、経路上の任意の要素、イベントを処理し、このイベントの引数でカーソルの値を設定する機会があります。 これは、ほとんどの場合、視覚的に明らかなカーソルを生成するメカニズムです。 場合、 QueryCursor ハンドラーがカーソルの結果を取得し、イベントが処理され、引数を変更した値を持つことのファクトの値よりも優先、 Cursor あらゆるレベルでプロパティしない限り、 ForceCursor が設定されます。

通常の静的プロパティの値にこのプロパティを設定する場合は、カスタムのカーソルを作成しない、 Cursors クラスです。 設定 Cursor コードで、次のいずれかが必要です。

  • 呼び出す、 Cursor を取得するコンス トラクター、 Cursor インスタンス。 両方の署名、 Cursor ストリームまたはファイルを作成しているに応じるために、コンス トラクターを使用して、 Cursor カーソルのカスタム オブジェクト。

  • 使用して、 CursorConverter クラスとその ConvertFrom でカーソルを指定する方法 CursorType, 、または文字列に評価されることを CursorType, 、キャストに戻ると Cursorです。

設定、 Cursor にカスタム値が有効でない部分的に信頼します。 カスタムのカーソルの詳細については、次を参照してください。 入力概要します。

識別子のフィールド

CursorProperty

メタデータのプロパティを設定するには true

None

次の例では、カーソルのグラフィックを意図的に設定する方法を示します。

private void CursorTypeChanged(object sender, SelectionChangedEventArgs e)
{
    ComboBox source = e.Source as ComboBox;

    if (source != null)
    {
        ComboBoxItem selectedCursor = source.SelectedItem as ComboBoxItem;

        // Changing the cursor of the Border control 
        // by setting the Cursor property
        switch (selectedCursor.Content.ToString())
        {
            case "AppStarting":
                DisplayArea.Cursor = Cursors.AppStarting;
                break;
            case "ArrowCD":                        
                DisplayArea.Cursor = Cursors.ArrowCD;
                break;
            case "Arrow":
                DisplayArea.Cursor = Cursors.Arrow;
                break;
            case "Cross":
                DisplayArea.Cursor = Cursors.Cross;
                break;
            case "HandCursor":
                DisplayArea.Cursor = Cursors.Hand;
                break;
            case "Help":
                DisplayArea.Cursor = Cursors.Help;
                break;
            case "IBeam":
                DisplayArea.Cursor = Cursors.IBeam;
                break;
            case "No":
                DisplayArea.Cursor = Cursors.No;
                break;
            case "None":
                DisplayArea.Cursor = Cursors.None;
                break;
            case "Pen":
                DisplayArea.Cursor = Cursors.Pen;
                break;
            case "ScrollSE":
                DisplayArea.Cursor = Cursors.ScrollSE;
                break;
            case "ScrollWE":
                DisplayArea.Cursor = Cursors.ScrollWE;
                break;
            case "SizeAll":
                DisplayArea.Cursor = Cursors.SizeAll;
                break;
            case "SizeNESW":
                DisplayArea.Cursor = Cursors.SizeNESW;
                break;
            case "SizeNS":
                DisplayArea.Cursor = Cursors.SizeNS;
                break;
            case "SizeNWSE":
                DisplayArea.Cursor = Cursors.SizeNWSE;
                break;
            case "SizeWE":
                DisplayArea.Cursor = Cursors.SizeWE;
                break;
            case "UpArrow":
                DisplayArea.Cursor = Cursors.UpArrow;
                break;
            case "WaitCursor":
                DisplayArea.Cursor = Cursors.Wait;
                break;
            case "Custom":
                DisplayArea.Cursor = CustomCursor;
                break;
            default:
                break;
        }

        // If the cursor scope is set to the entire application
        // Use OverrideCursor to force the cursor for all elements
        if (cursorScopeElementOnly == false)
        {
            Mouse.OverrideCursor = DisplayArea.Cursor;
        }
    }
}

.NET Framework
3.0 以降で使用可能
Silverlight
2.0 以降で使用可能
Windows Phone Silverlight
7.0 以降で使用可能
トップに戻る
表示: