FrameworkElement.Cursor Właściwość
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Pobiera lub ustawia kursor wyświetlany, gdy wskaźnik myszy jest nad tym elementem.
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
Wartość właściwości
Kursor do wyświetlenia. Wartość domyślna jest definiowana zgodnie z null
tą właściwością zależności. Jednak praktyczna wartość domyślna w czasie wykonywania będzie pochodzić z różnych czynników.
Przykłady
W poniższym przykładzie pokazano, jak celowo ustawić grafikę kursora.
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
Uwagi
Po ustawieniu tej właściwości w języku XAML procesor XAML opiera się na konwersji typów dla Cursor klasy w celu oceny ciągu. Podany ciąg powinien zostać obliczony CursorType na wartość. Aby uzyskać szczegółowe informacje, zobacz opis funkcji Cursor.
Niezależnie od tego, czy kursor określony przez tę właściwość będzie wyświetlany, czy nie będzie wyświetlany, gdy wskaźnik myszy jest nad tym elementem, również zależy od wartości ForceCursor właściwości. Ponadto zagadnienia związane z zdarzeniami, takie jak aktywne przeciąganie, przechwytywanie myszy, tryby edycji tekstu w kontrolkach itd., będą również mieć wpływ na kursor o wyższym priorytetzie niż wartość określona w tej właściwości.
Aby przywrócić zachowanie ustawiania tej właściwości na wartość domyślną ostateczną, ustaw ją null
ponownie.
Wartość domyślna null
oznacza, że określenie praktycznej wartości kursora jest odroczone tutaj i powinno zostać uzyskane z innego miejsca. Jeśli nie są prezentowane bez wartości programowych z dowolnego źródła, domyślny kursor, który jest wizualnie nad aplikacją Windows Presentation Foundation (WPF) będzie strzałką. Jednak przejściowe zmiany kursora nie są ustawiane na Cursor wartości elementów po ich przekazaniu. Właściwość Cursor będzie zgłaszać tylko wartości inne niż null w przypadkach, w których została rzeczywiście ustawiona, na przykład za pomocą kodu lub stylu. Każdy ruch myszy nad aplikacją QueryCursor WPF zgłasza zdarzenie. Bąbelki zdarzeń i dowolny element wzdłuż trasy ma możliwość obsługi zdarzenia i ustawiania wartości kursora przez argumenty tego zdarzenia. Jest to mechanizm, który tworzy wizualnie widoczny kursor w większości przypadków.
QueryCursor Jeśli program obsługi zwraca wynik kursora, to fakt, że zdarzenie jest obsługiwane i ma zmienioną wartość w argumentach ma pierwszeństwo przed wartością Cursor właściwości na dowolnym poziomie, chyba że ForceCursor jest ustawiona.
Jeśli nie tworzysz kursora niestandardowego, zazwyczaj należy ustawić tę właściwość na wartość właściwości statycznej Cursors klasy. Ustawienie Cursor w kodzie wymaga jednego z następujących elementów:
Wywołaj konstruktor, Cursor aby uzyskać Cursor wystąpienie. Oba podpisy Cursor konstruktora używają strumieni lub plików w oczekiwaniu, że tworzysz Cursor obiekt dla kursora niestandardowego.
CursorConverter Użyj klasy i jej ConvertFrom metody, aby określić kursor według CursorType, lub ciągu, który może oszacować wartość CursorType, i rzutować powrót do Cursor.
Ustawienie wartości Cursor niestandardowej nie jest włączone w częściowej relacji zaufania. Aby uzyskać więcej informacji na temat niestandardowych kursorów, zobacz Omówienie danych wejściowych.
Informacje dotyczące właściwości zależności
Pole identyfikatora | CursorProperty |
Właściwości metadanych ustawione na true |
Brak |