FrameworkElement.Cursor FrameworkElement.Cursor FrameworkElement.Cursor FrameworkElement.Cursor Property

Definition

Ruft den Cursor ab bzw. legt den Cursor fest, der angezeigt wird, wenn sich der Mauszeiger über diesem Element befindet.Gets or sets the cursor that displays when the mouse pointer is over this element.

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.The cursor to display. Der Standardwert ist gemäß dieser Abhängigkeitseigenschaft als null definiert.The default value is defined as null per this dependency property. Der zur Laufzeit angewendete Standardwert resultiert jedoch aus einer Vielzahl von Faktoren.However, the practical default at run time will come from a variety of factors.

Beispiele

Im folgenden Beispiel wird gezeigt, wie die Cursor Grafik absichtlich festgelegt wird.The following example shows how to deliberately set the cursor graphic.

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

Hinweise

Wenn Sie diese Eigenschaft in XAMLXAMLfestlegen, stützt der XAMLXAML Prozessor die Typkonvertierung für die Cursor -Klasse, um die Zeichenfolge auszuwerten.When you set this property in XAMLXAML, the XAMLXAML processor relies on type conversion for the Cursor class to evaluate the string. Die bereitgestellte Zeichenfolge sollte zu CursorType einem Wert ausgewertet werden.The provided string should evaluate to a CursorType value. Ausführliche Informationen finden Sie unter Cursor.See Cursor for details.

Ob der Cursor, wie durch diese Eigenschaft festgelegt, angezeigt wird oder nicht angezeigt wird, wenn sich der Mauszeiger über diesem Element befindet, hängt ForceCursor auch vom Wert der-Eigenschaft ab.Whether the cursor as established by this property will or will not display when the mouse pointer is over this element is also dependent on the value of the ForceCursor property. Außerdem wirken sich ereignisbezogene Überlegungen, wie z. b. eine aktive Drag-, Maus-und Text Bearbeitungsmodi innerhalb von Steuerelementen, auch auf den Cursor mit höherer Priorität als dem Wert aus, den Sie in dieser Eigenschaft angeben.Also, event-related considerations such as an active drag, mouse capture, text editing modes within controls, and so on, will also affect the cursor with higher priority than the value you specify in this property.

Um das Verhalten für das Festlegen dieser Eigenschaft auf den Standardwert zurückzusetzen, legen null Sie ihn erneut fest.To revert the behavior of setting this property to the eventual default, set it to null again.

Der null Standardwert bedeutet, dass die Bestimmung des praktischen Cursor Werts hier verzögert wird und von anderen Orten abgerufen werden sollte.The null default really means that determination of the practical cursor value is deferred here and should be obtained from elsewhere. Wenn eine Darstellung ohne programmgesteuerte Werte aus einer beliebigen Quelle vorhanden ist, wird der Standard Windows Presentation Foundation (WPF)Windows Presentation Foundation (WPF) Cursor, der über eine-Anwendung visuell ist, ein Pfeil.If presented without programmatic values from any source, the default cursor that is visually over a Windows Presentation Foundation (WPF)Windows Presentation Foundation (WPF) application will be an arrow. Die vorübergehenden Cursor Änderungen werden jedoch nicht auf die Cursor Werte der Elemente festgelegt, wenn Sie übergeben werden.However, the transient cursor changes are not set to the Cursor values of the elements when they are passed over. Die Cursor -Eigenschaft meldet nur Werte ungleich NULL in Fällen, in denen Sie tatsächlich festgelegt wurde, beispielsweise durch Code oder einen Stil.The Cursor property will only report non null values in cases where it was actually set, for instance through code or a style. Jede Bewegung des Mauszeigers über WPFWPF eine-Anwendung QueryCursor löst ein-Ereignis aus.Each movement of the mouse over a WPFWPF application raises a QueryCursor event. Die Ereignis Blasen, und jedes Element entlang der Route hat die Möglichkeit, das Ereignis zu behandeln und den Wert des Cursors durch die Argumente dieses Ereignisses festzulegen.The event bubbles, and any element along the route has the opportunity to handle the event and to set the value of the cursor through the arguments of this event. Dies ist der Mechanismus, der in den meisten Fällen den visuell sichtbaren Cursor erzeugt.This is the mechanism that produces the visually apparent cursor in most cases. Wenn ein QueryCursor Handler ein Cursor Ergebnis zurückgibt, hat die Tatsache, dass das Ereignis behandelt wird und einen geänderten Wert in den Argumenten hat, Vorrang vor dem Wert Cursor der Eigenschaft auf jeder Ebene, ForceCursor es sei denn, wird festgelegt.If a QueryCursor handler returns a cursor result, then the fact that the event is handled and has a changed value in the arguments takes precedence over the value of the Cursor property at any level, unless ForceCursor is set.

Wenn kein benutzerdefinierter Cursor erstellt wird, legen Sie diese Eigenschaft in der Regel auf einen statischen Eigenschafts Wert Cursors der-Klasse fest.If not are not creating a custom cursor, you typically set this property to a static property value of the Cursors class. Für Cursor das Festlegen von im Code ist Folgendes erforderlich:Setting Cursor in code requires one of the following:

  • Ruft den Cursor Konstruktor auf, um Cursor eine-Instanz abzurufen.Call the Cursor constructor to get a Cursor instance. Beide Signaturen des Cursor Konstruktors verwenden Streams oder Dateien, in der Erwartung, dass Sie das Cursor -Objekt für einen benutzerdefinierten Cursor erstellen.Both signatures of the Cursor constructor use streams or files, in anticipation that you are creating the Cursor object for a custom cursor.

  • CursorConverter Verwenden CursorType ConvertFrom Siedie-KlasseCursorund die zugehörige-Methode, um einen Cursor anzugeben ,odereineZeichenfolge,diealsausgewertetwerdenkann,undumwandelnSiedieRückgabein.CursorTypeUse the CursorConverter class and its ConvertFrom method to specify a cursor by CursorType, or a string that can evaluate to a CursorType, and cast the return to Cursor.

Das Cursor Festlegen von auf einen benutzerdefinierten Wert ist in teilweiser Vertrauenswürdigkeit nicht aktiviert.Setting the Cursor to a custom value is not enabled in partial trust. Weitere Informationen zu benutzerdefinierten Cursorn finden Sie unter Übersicht über die Eingabe.For more information on custom cursors, see Input Overview.

Informationen zur AbhängigkeitseigenschaftDependency Property Information

BezeichnerfeldIdentifier field CursorProperty
Metadateneigenschaften auf festgelegttrueMetadata properties set to true KeinerNone

Gilt für:

Siehe auch