Freigeben über


FrameworkElement.Cursor Eigenschaft

Definition

Ruft den Cursor ab bzw. legt den Cursor fest, der angezeigt wird, wenn sich der Mauszeiger über diesem Element befindet.

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

Eigenschaftswert

Der anzuzeigende Cursor. Der Standardwert ist gemäß dieser Abhängigkeitseigenschaft als null definiert. Der zur Laufzeit angewendete Standardwert resultiert jedoch aus einer Vielzahl von Faktoren.

Beispiele

Das folgende Beispiel zeigt, wie Sie die Cursorgrafik absichtlich festlegen.

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)
        {
            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

Hinweise

Wenn Sie diese Eigenschaft in XAML festlegen, verlässt sich der XAML-Prozessor auf die Typkonvertierung für die Cursor Klasse, um die Zeichenfolge auszuwerten. Die angegebene Zeichenfolge sollte zu einem CursorType Wert ausgewertet werden. Einzelheiten dazu finden Sie unter Cursor.

Ob der Von dieser Eigenschaft festgelegte Cursor angezeigt wird oder nicht, wenn sich der Mauszeiger über dieses Element befindet, hängt ebenfalls vom Wert der ForceCursor Eigenschaft ab. Darüber hinaus wirken sich ereignisbezogene Überlegungen wie aktives Ziehen, Mauserfassung, Textbearbeitungsmodi in Steuerelementen usw. auch auf den Cursor mit höherer Priorität als der in dieser Eigenschaft angegebene Wert aus.

Um das Verhalten zu rückgängig machen, diese Eigenschaft auf den letztendlichen Standardwert festzulegen, legen Sie sie erneut auf null fest.

Der null Standardwert bedeutet wirklich, dass die Bestimmung des praktischen Cursorwerts hier zurückgestellt wird und von anderer Stelle abgerufen werden sollte. Wenn keine programmgesteuerten Werte aus einer beliebigen Quelle angezeigt werden, ist der Standardcursor, der sich visuell über eine Windows Presentation Foundation-Anwendung (WPF) befindet, ein Pfeil. Die vorübergehenden Cursoränderungen werden jedoch nicht auf die Cursor Werte der Elemente festgelegt, wenn sie übergeben werden. Die Cursor Eigenschaft meldet nicht NULL-Werte nur in Fällen, in denen sie tatsächlich festgelegt wurde, für instance über Code oder eine Formatvorlage. Jede Bewegung der Maus über eine WPF-Anwendung löst ein Ereignis aus QueryCursor . Die Ereignisblasen und jedes Element entlang der Route hat die Möglichkeit, das Ereignis zu behandeln und den Wert des Cursors über die Argumente dieses Ereignisses festzulegen. Dies ist der Mechanismus, der in den meisten Fällen den visuell sichtbaren Cursor erzeugt. Wenn ein QueryCursor Handler ein Cursorergebnis zurückgibt, hat die Tatsache, dass das Ereignis behandelt wird und einen geänderten Wert in den Argumenten aufweist, Vorrang vor dem Wert der Cursor Eigenschaft auf beliebiger Ebene, es sei denn ForceCursor , es wird festgelegt.

Wenn sie keinen benutzerdefinierten Cursor erstellen, legen Sie diese Eigenschaft in der Regel auf einen statischen Eigenschaftswert der Cursors -Klasse fest. Für die Einstellung Cursor im Code ist folgendes erforderlich:

  • Rufen Sie den Cursor Konstruktor auf, um eine Cursor instance zu erhalten. Beide Signaturen des Cursor Konstruktors verwenden Streams oder Dateien, in Erwartung, dass Sie das Cursor Objekt für einen benutzerdefinierten Cursor erstellen.

  • Verwenden Sie die CursorConverter -Klasse und ihre ConvertFrom -Methode, um einen Cursor durch CursorTypeoder eine Zeichenfolge anzugeben, die in ein CursorTypeausgewertet werden kann, und wandeln Sie die Rückgabe in um Cursor.

Das Festlegen von Cursor auf einen benutzerdefinierten Wert ist bei teilweiser Vertrauensstellung nicht aktiviert. Weitere Informationen zu benutzerdefinierten Cursorn finden Sie unter Eingabeübersicht.

Informationen zur Abhängigkeitseigenschaft

Bezeichnerfeld CursorProperty
Metadateneigenschaften auf true festgelegt Keine

Gilt für:

Weitere Informationen