Exportar (0) Imprimir
Expandir todo
Este artículo se tradujo de forma manual. Mueva el puntero sobre las frases del artículo para ver el texto original.
Traducción
Original

FrameworkElement.Cursor (Propiedad)

Obtiene o establece el cursor que se muestra cuando el puntero del mouse se sitúa sobre este elemento.

Espacio de nombres:  System.Windows
Ensamblado:  PresentationFramework (en PresentationFramework.dll)
XMLNS para XAML: http://schemas.microsoft.com/winfx/2006/xaml/presentation, http://schemas.microsoft.com/netfx/2007/xaml/presentation

public Cursor Cursor { get; set; }
<object Cursor="Cursor" .../>

Valor de propiedad

Tipo: System.Windows.Input.Cursor
Cursor que se va a mostrar. El valor predeterminado se define como null para esta propiedad de dependencia. Sin embargo, el valor predeterminado viable en tiempo de ejecución depende de diversos factores.

Campo de identificador

CursorProperty

Propiedades de metadatos establecidas en true.

Ninguno

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

El hecho de que el cursor establecido por esta propiedad se muestre o no cuando el puntero del mouse está sobre este elemento también depende del valor de la propiedad ForceCursor. Asimismo, las consideraciones relacionadas con eventos, como el arrastre activo, captura del mouse, modos de edición de texto dentro de los controles, etc., también afectan al cursor y tienen mayor prioridad que el valor especificado en esta propiedad.

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

El valor predeterminado null realmente significa que la determinación del valor de cursor viable se retarda aquí y se obtiene en otra parte. Si se presenta sin valores de programación de cualquier origen, el cursor predeterminado que está visualmente sobre una aplicación Windows Presentation Foundation (WPF) será una flecha. Sin embargo, los cambios del cursor transitorios no se establecen en los valores Cursor de los elementos cuando pasan sobre ellos. La propiedad Cursor sólo informa de valores no nulos en los casos donde se estableció realmente, por ejemplo a través del código o de un estilo. Cada movimiento del mouse sobre una aplicación WPF genera un evento QueryCursor. El evento se propaga y cualquier elemento a lo largo de la ruta tiene la oportunidad de administrar el evento y establecer el valor del cursor a través de los argumentos de este evento. Éste es el mecanismo que genera el cursor que se muestra en la mayoría de los casos. Si un controlador de QueryCursor devuelve un resultado del cursor, el hecho de que el evento se administre y su valor haya cambiado en los argumentos tiene prioridad sobre el valor de la propiedad Cursor en cualquier nivel, a menos que se establezca ForceCursor.

Si no se está creando un cursor personalizado, normalmente esta propiedad se establece en un valor de propiedad estático de la clase Cursors. Establecer Cursor en el código requiere una de las siguientes acciones:

  • Llame al constructor Cursor para obtener una instancia de Cursor. Ambas firmas del constructor Cursor usan secuencias o archivos, en anticipación de que se está creando el objeto Cursor para un cursor personalizado.

  • Use la clase CursorConverter y su método ConvertFrom para especificar un cursor mediante CursorType o una cadena que se puede evaluar como CursorType, y convierta el valor devuelto en Cursor.

Establecer Cursor en un valor personalizado no se permite en la confianza parcial. Para obtener más información sobre los cursores personalizados, vea Información general sobre acciones del usuario.

En el ejemplo siguiente se muestra cómo establecer deliberadamente el gráfico del cursor.


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;
        }
    }
}


.NET Framework

Compatible con: 4, 3.5, 3.0

.NET Framework Client Profile

Compatible con: 4, 3.5 SP1

Windows 7, Windows Vista SP1 o posterior, Windows XP SP3, Windows Server 2008 (no se admite Server Core), Windows Server 2008 R2 (se admite Server Core con SP1 o posterior), Windows Server 2003 SP2

.NET Framework no admite todas las versiones de todas las plataformas. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft