FrameworkElement.Cursor Eigenschaft
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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 |