FrameworkElement.Cursor Właściwość

Definicja

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 == 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

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

Dotyczy

Zobacz też