Udostępnij za pośrednictwem


FrameworkContentElement.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

Poniższy przykład ustawia kursor na wartość niestandardową.

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

Podczas ustawiania tej właściwości w języku XAML procesor XAML opiera się na konwersji typów klasy Cursor do 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 zostaną wyświetlone żadne wartości programowe z dowolnego źródła, domyślny kursor nad aplikacją Windows Presentation Foundation (WPF) będzie strzałką.

Każdy ruch myszy nad aplikacją QueryCursor WPF zgłasza zdarzenie. Bąbelki zdarzeń i każdy element wzdłuż trasy ma możliwość obsługi zdarzenia i ustawiania wartości kursora za pośrednictwem argumentów tego zdarzenia. Jeśli tak się stanie, fakt, że zdarzenie jest obsługiwane i ma zmienioną wartość argumentów, ma pierwszeństwo przed wartością Cursor właściwości na dowolnym poziomie, chyba że ForceCursor zostanie ustawiona.

Jeśli nie tworzysz kursora niestandardowego, zazwyczaj ustawiasz tę właściwość na wartość właściwości statycznej Cursors klasy.

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ż