FrameworkElement.Cursor プロパティ

定義

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

public:
 property System::Windows::Input::Cursor ^ Cursor { System::Windows::Input::Cursor ^ get(); void set(System::Windows::Input::Cursor ^ value); };
public System.Windows.Input.Cursor Cursor { get; set; }
member this.Cursor : System.Windows.Input.Cursor with get, set
Public Property Cursor As Cursor

プロパティ値

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

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

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;
        }
    }
}
' When the Radiobox changes, a new cursor type is set
Private Sub CursorTypeChanged(ByVal sender As Object, ByVal e As SelectionChangedEventArgs)

    Dim item As String = CType(e.Source, ComboBox).SelectedItem.Content.ToString()

    Select Case item
        Case "AppStarting"
            DisplayArea.Cursor = Cursors.AppStarting
        Case "ArrowCD"
            DisplayArea.Cursor = Cursors.ArrowCD
        Case "Arrow"
            DisplayArea.Cursor = Cursors.Arrow
        Case "Cross"
            DisplayArea.Cursor = Cursors.Cross
        Case "HandCursor"
            DisplayArea.Cursor = Cursors.Hand
        Case "Help"
            DisplayArea.Cursor = Cursors.Help
        Case "IBeam"
            DisplayArea.Cursor = Cursors.IBeam
        Case "No"
            DisplayArea.Cursor = Cursors.No
        Case "None"
            DisplayArea.Cursor = Cursors.None
        Case "Pen"
            DisplayArea.Cursor = Cursors.Pen
        Case "ScrollSE"
            DisplayArea.Cursor = Cursors.ScrollSE
        Case "ScrollWE"
            DisplayArea.Cursor = Cursors.ScrollWE
        Case "SizeAll"
            DisplayArea.Cursor = Cursors.SizeAll
        Case "SizeNESW"
            DisplayArea.Cursor = Cursors.SizeNESW
        Case "SizeNS"
            DisplayArea.Cursor = Cursors.SizeNS
        Case "SizeNWSE"
            DisplayArea.Cursor = Cursors.SizeNWSE
        Case "SizeWE"
            DisplayArea.Cursor = Cursors.SizeWE
        Case "UpArrow"
            DisplayArea.Cursor = Cursors.UpArrow
        Case "WaitCursor"
            DisplayArea.Cursor = Cursors.Wait
        Case "Custom"
            DisplayArea.Cursor = CustomCursor
    End Select

    ' if the cursor scope is set to the entire application
    ' use OverrideCursor to force the cursor for all elements
    If (cursorScopeElementOnly = False) Then
        Mouse.OverrideCursor = DisplayArea.Cursor
    End If


End Sub

注釈

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

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

このプロパティを最終的な既定値に設定する動作を元に戻すには、もう一度 に null 設定します。

既定値は null 実際には、実際のカーソル値の決定はここで延期され、他の場所から取得する必要があることを意味します。 ソースからのプログラム値なしで表示される場合、Windows Presentation Foundation (WPF) アプリケーション上に視覚的に表示される既定のカーソルは矢印になります。 ただし、一時的なカーソルの変更は、渡されるときに要素の値に設定 Cursor されません。 プロパティは Cursor 、コードやスタイルを使用して実際に設定された場合にのみ、null 以外の値を報告します。 WPF アプリケーション上でマウスを移動するたびに、イベントが QueryCursor 発生します。 イベント バブルとルートに沿った要素には、イベントを処理し、このイベントの引数を使用してカーソルの値を設定する機会があります。 これは、ほとんどの場合、視覚的に見えるカーソルを生成するメカニズムです。 ハンドラーがQueryCursorカーソルの結果を返す場合、イベントが処理され、引数の値が変更されたという事実は、 が設定されていない限りForceCursor、任意のレベルのプロパティのCursor値よりも優先されます。

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

  • コンストラクターを Cursor 呼び出してインスタンスを Cursor 取得します。 コンストラクターの両方の Cursor シグネチャは、カスタム カーソルのオブジェクトを作成することを想定して Cursor 、ストリームまたはファイルを使用します。

  • クラスとそのメソッドをCursorConverter使用して、 または に評価CursorTypeできる文字列でCursorTypeカーソルを指定し、戻り値を にCursorキャストConvertFromします。

Cursor カスタム値に設定することは、部分信頼では有効になっていません。 カスタム カーソルの詳細については、「 入力の概要」を参照してください。

依存プロパティ情報

識別子フィールド CursorProperty
に設定されたメタデータ プロパティ true なし

適用対象

こちらもご覧ください