FrameworkElement.Cursor Właściwość

Definicja

Pobiera lub ustawia kursor wyświetlany, gdy wskaźnik myszy znajduje się nad tym elementem.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

Wartość właściwości

Kursor, który ma zostać wyświetlony.The cursor to display. Wartość domyślna jest definiowana jako null na tę właściwość zależności.The default value is defined as null per this dependency property. Jednak praktyczne wartości domyślne w czasie wykonywania będą pochodzić z różnych czynników.However, the practical default at run time will come from a variety of factors.

Przykłady

Poniższy przykład pokazuje, jak celowo ustawić grafikę kursora.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

Uwagi

Po ustawieniu tej właściwości w XAMLXAMLprocesor XAMLXAML opiera się na konwersji typu dla klasy Cursor, aby oszacować ciąg.When you set this property in XAMLXAML, the XAMLXAML processor relies on type conversion for the Cursor class to evaluate the string. Podany ciąg powinien być obliczany jako wartość CursorType.The provided string should evaluate to a CursorType value. Aby uzyskać szczegółowe informacje, zobacz Cursor.See Cursor for details.

Określa, czy kursor ustalony przez tę właściwość lub nie będzie wyświetlany, gdy wskaźnik myszy znajduje się nad tym elementem również zależy od wartości właściwości ForceCursor.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. Ponadto zagadnienia dotyczące zdarzenia, takie jak aktywne przeciąganie, przechwytywanie myszy, tryby edycji tekstu w kontrolkach i tak dalej, wpłyną również na kursor o wyższym priorytecie niż wartość określona w tej właściwości.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.

Aby przywrócić zachowanie domyślnego ustawienia tej właściwości, należy ustawić ją na null ponownie.To revert the behavior of setting this property to the eventual default, set it to null again.

Ustawienie domyślne null w rzeczywistości oznacza, że określenie praktycznej wartości kursora jest odroczone i powinno zostać uzyskane z innego miejsca.The null default really means that determination of the practical cursor value is deferred here and should be obtained from elsewhere. Jeśli jest prezentowane bez wartości programistycznych z dowolnego źródła, kursor domyślny, który jest wizualnie przeznaczony dla aplikacji Windows Presentation Foundation (WPF)Windows Presentation Foundation (WPF), będzie strzałką.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. Jednak przejściowe zmiany kursora nie są ustawione na Cursor wartości elementów, gdy są one przenoszone.However, the transient cursor changes are not set to the Cursor values of the elements when they are passed over. Właściwość Cursor będzie raportować wartości inne niż null w przypadkach, gdy została ustawiona w rzeczywistości, na przykład za pomocą kodu lub stylu.The Cursor property will only report non null values in cases where it was actually set, for instance through code or a style. Każdy ruch myszy nad aplikacją WPFWPF wywołuje zdarzenie QueryCursor.Each movement of the mouse over a WPFWPF application raises a QueryCursor event. Bąbelki zdarzeń i każdy element na trasie mają możliwość obsługi zdarzenia i ustawiania wartości kursora przez argumenty tego zdarzenia.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. Jest to mechanizm, który generuje wizualnie widoczny kursor w większości przypadków.This is the mechanism that produces the visually apparent cursor in most cases. Jeśli procedura obsługi QueryCursor zwraca wynik kursora, oznacza to, że zdarzenie jest obsługiwane i ma zmienioną wartość w argumentach ma pierwszeństwo przed wartością właściwości Cursor na dowolnym poziomie, chyba że ForceCursor jest ustawiona.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.

Jeśli nie są tworzone niestandardowe kursor, zazwyczaj Właściwość ta jest ustawiana na wartość właściwości statycznej klasy Cursors.If not are not creating a custom cursor, you typically set this property to a static property value of the Cursors class. Ustawienie Cursor w kodzie wymaga jednej z następujących wartości:Setting Cursor in code requires one of the following:

Ustawienie Cursor na wartość niestandardową nie jest włączone w częściowej relacji zaufania.Setting the Cursor to a custom value is not enabled in partial trust. Aby uzyskać więcej informacji na temat niestandardowych kursorów, zobacz przegląd danych wejściowych.For more information on custom cursors, see Input Overview.

Informacje dotyczące właściwości zależnościDependency Property Information

Pole identyfikatoraIdentifier field CursorProperty
Właściwości metadanych ustawione na trueMetadata properties set to true NoneNone

Dotyczy

Zobacz też