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.DefaultStyleKey (Propiedad)

Obtiene o establece la clave que se usa para hacer referencia al estilo de este control, cuando se usan o se han definido estilos de tema.

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

protected internal Object DefaultStyleKey { get; set; }

Valor de propiedad

Tipo: System.Object
Clave de estilo. Se espera que este valor sea Type en el cuyo estilo se está creando para que funcione correctamente como parte de la búsqueda de estilo de tema.

Campo de identificador

DefaultStyleKeyProperty

Propiedades de metadatos establecidas en true.

AffectsMeasure

Esta propiedad no se establece normalmente a través de cualquiera de sus descriptores de acceso de propiedad directos. En su lugar, invalida los metadatos específicos del tipo de esta propiedad de dependencia cada vez que se crea una nueva clase derivada de FrameworkElement. Al derivar un control, llame al método OverrideMetadata contra el identificador DefaultStyleKeyProperty, dentro del constructor estático de la clase derivada del control (o la inicialización de la clase equivalente).

Un control invalida normalmente el valor predeterminado de esta propiedad para que sea su propio tipo, pero en algunos casos también podría usar un tipo base para el que existe un estilo en los diccionarios del tema. Esto sólo es viable si las plantillas del control base definen completamente la representación visual de ese control derivado y si cualquier miembro adicional que los tipos derivados exponen no requieren los elementos adicionales como parte de la plantilla del control.

Si desea que el elemento o control no use deliberadamente estilos de tema, establezca la propiedad OverridesDefaultStyle en true.

En el ejemplo siguiente se muestra el uso de la invalidación de los metadatos de la propiedad de dependencia que se describe en la sección Comentarios. Este código define una clase de control NumericUpDown personalizado que se diseñó para usarla desde un ensamblado de biblioteca de control dedicado. El constructor estático que se muestra aquí, hace referencia a alguna función de inicialización privada, registra un controlador de clase (otro escenario de creación de subclases de control común; vea Marcar eventos enrutados como controlados y control de clases) y finalmente invalida los metadatos de propiedad de dependencia DefaultStyleKey en la clase NumericUpDown. DefaultStyleKey siempre devuelve su propio tipo como la clave deseada, que es la convención que el sistema de estilo de tema usa con el fin de buscar el estilo para algún control arbitrario y, por lo demás, sin un estilo definido. El ejemplo completo también define el estilo de tema del control real al que esa clave hace referencia; vea NumericUpDown Custom Control with Theme and UI Automation Support Sample.


public class NumericUpDown : Control
{
    static NumericUpDown()
    {
        InitializeCommands();

        // Listen to MouseLeftButtonDown event to determine if slide should move focus to itself
        EventManager.RegisterClassHandler(typeof(NumericUpDown), 
            Mouse.MouseDownEvent, new MouseButtonEventHandler(NumericUpDown.OnMouseLeftButtonDown), true);

        DefaultStyleKeyProperty.OverrideMetadata(typeof(NumericUpDown), new FrameworkPropertyMetadata(typeof(NumericUpDown)));
    }


...


}


.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