Cursors (Clase)
TOC
Collapse the table of content
Expand the table of content

Cursors (Clase)

Actualización: noviembre 2007

Define un conjunto de cursores predeterminados.

Espacio de nombres:  System.Windows.Input
Ensamblado:  PresentationCore (en PresentationCore.dll)

public static class Cursors
public final class Cursors
public final class Cursors
No se puede crear una instancia de esta clase directamente en XAML.

Esta clase estática define un conjunto de cursores predeterminados que es común a todas las aplicaciones.

Las distintas propiedades estáticas que definen los cursores no se pueden utilizar directamente en XAML, pero pueden utilizarse indirectamente a través de dos mecanismos posibles:

  • La clase Cursor realiza la conversión de tipos en cualquier atributo de XAML que toma el tipo Cursor, de forma que un valor de la enumeración CursorType especificado como el valor de atributo se evaluará como una de las propiedades estáticas de Cursors.

  • Se puede utilizar un valor de propiedad estática a través de Extensiones de marcado x:Static.

Para obtener un ejemplo acerca de cómo se crea un objeto Cursor personalizado, vea Ejemplo Changing the Cursor Type.

En este ejemplo se muestra cómo cambiar el objeto Cursor del puntero del mouse para un elemento concreto y para la aplicación.

Este ejemplo consta de un archivo Lenguaje de marcado de aplicaciones extensible (XAML) y de un archivo de código subyacente. Para obtener los ejemplos completos, vea Ejemplo Changing the Cursor Type.

Se crea la interfaz de usuario que consiste en un control ComboBox donde seleccionar el objeto Cursor deseado, un par de objetos RadioButton para determinar si el cambio del cursor se aplica a un solo elemento o a la aplicación completa, y un objeto Border que es el elemento al que se aplica el nuevo cursor.

<StackPanel>
  <Border Width="300">
    <StackPanel Orientation="Horizontal"
                HorizontalAlignment="Center">
      <StackPanel Margin="10">
        <Label HorizontalAlignment="Left">Cursor Type</Label>
        <ComboBox Width="100"
                  SelectionChanged="CursorTypeChanged"
                  HorizontalAlignment="Left"
                  Name="CursorSelector">
          <ComboBoxItem Content="AppStarting" />
          <ComboBoxItem Content="ArrowCD" />
          <ComboBoxItem Content="Arrow" />
          <ComboBoxItem Content="Cross" />
          <ComboBoxItem Content="HandCursor" />
          <ComboBoxItem Content="Help" />
          <ComboBoxItem Content="IBeam" />
          <ComboBoxItem Content="No" />
          <ComboBoxItem Content="None" />
          <ComboBoxItem Content="Pen" />
          <ComboBoxItem Content="ScrollSE" />
          <ComboBoxItem Content="ScrollWE" />
          <ComboBoxItem Content="SizeAll" />
          <ComboBoxItem Content="SizeNESW" />
          <ComboBoxItem Content="SizeNS" />
          <ComboBoxItem Content="SizeNWSE" />
          <ComboBoxItem Content="SizeWE" />
          <ComboBoxItem Content="UpArrow" />
          <ComboBoxItem Content="WaitCursor" />
          <ComboBoxItem Content="Custom" />
        </ComboBox>
      </StackPanel>
      <!-- The user can select different cursor types using this ComboBox -->
      <StackPanel Margin="10">
        <Label HorizontalAlignment="Left">Scope of Cursor</Label>
        <StackPanel>
          <RadioButton Name="rbScopeElement" IsChecked="True"
                       Checked="CursorScopeSelected">Display Area Only</RadioButton>
          <RadioButton Name="rbScopeApplication"
                       Checked="CursorScopeSelected">Entire Appliation</RadioButton>
        </StackPanel>
      </StackPanel>
    </StackPanel>
  </Border>
  <!-- When the mouse pointer is over this Border -->
  <!-- the selected cursor type is shown -->
  <Border Name="DisplayArea" Height="250" Width="400"
          Margin="20" Background="AliceBlue">
    <Label HorizontalAlignment="Center">
      Move Mouse Pointer Over This Area
    </Label>
  </Border>
</StackPanel>


El código subyacente siguiente crea un controlador de eventos SelectionChanged al que se llama cuando se cambia el tipo de cursor en el control ComboBox. Una instrucción switch aplica un filtro al nombre del cursor y establece la propiedad Cursor del objeto Border, denominado DisplayArea.

Si el cambio del cursor se establece en "Entire Application", la propiedad OverrideCursor se establece en la propiedad Cursor del control Border. Esto obliga al cursor a cambiar para toda la aplicación.

En el ejemplo completo también se muestra cómo crear un tipo de cursor personalizado, Ejemplo Changing the Cursor Type.

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


System.Object
  System.Windows.Input.Cursors

Todos los miembros static (Shared en Visual Basic) públicos de este tipo son seguros para la ejecución de subprocesos. No se garantiza que los miembros de instancias sean seguros para la ejecución de subprocesos.

Windows Vista

.NET Framework y .NET Compact Framework no admiten todas las versiones de cada plataforma. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

.NET Framework

Compatible con: 3.5, 3.0

Adiciones de comunidad

AGREGAR
Mostrar:
© 2016 Microsoft