FrameworkContentElement.Cursor Propiedad

Definición

Obtiene o establece el cursor que aparecerá cuando el puntero del mouse se encuentre sobre este elemento.

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

Valor de propiedad

Cursor que se va a mostrar. El valor predeterminado se define como null por esta propiedad de dependencia. Sin embargo, el valor predeterminado en la práctica en tiempo de ejecución depende de diversos factores.

Ejemplos

En el ejemplo siguiente se establece el cursor en un valor personalizado.

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

Comentarios

Al establecer esta propiedad en XAML, el procesador XAML se basa en la conversión de tipos para que la Cursor clase evalúe la cadena. La cadena proporcionada debe evaluarse como un CursorType valor. Para obtener información detallada, vea Cursor.

Si el cursor establecido por esta propiedad se mostrará o no cuando el puntero del mouse esté sobre este elemento también depende del valor de la ForceCursor propiedad . Además, las consideraciones relacionadas con eventos, como una arrastrar activa, capturar el mouse, los modos de edición de texto dentro de los controles, etc., también afectarán al cursor con mayor prioridad que el valor especificado en esta propiedad.

Para revertir el comportamiento de establecer esta propiedad en el valor predeterminado final, establéztelo de null nuevo.

El null valor predeterminado significa realmente que la determinación del valor práctico del cursor se aplaza aquí y debe obtenerse de otra parte. Si no se presentan valores mediante programación de ningún origen, el cursor predeterminado sobre una aplicación de Windows Presentation Foundation (WPF) será una flecha.

Cada movimiento del mouse sobre una aplicación WPF genera un QueryCursor evento. El evento se propaga y cualquier elemento a lo largo de la ruta tiene la oportunidad de controlar el evento y establecer el valor del cursor a través de los argumentos de este evento. Si esto sucede, el hecho de que el evento se controla y tiene un valor cambiado en los argumentos tiene prioridad sobre el valor de la Cursor propiedad en cualquier nivel, a menos que ForceCursor se establezca.

Si no se crea un cursor personalizado, normalmente se establece esta propiedad en un valor de propiedad estático de la Cursors clase .

Establecer en Cursor un valor personalizado no está habilitado en confianza parcial. Para obtener más información sobre los cursores personalizados, consulte Introducción a la entrada.

Información sobre propiedades de dependencia

Campo identificador CursorProperty
Propiedades de metadatos establecidas en true None

Se aplica a

Consulte también