Compartir a través de


Style Clase

Definición

Habilita el uso compartido de propiedades, recursos y controladores de eventos entre las instancias de un tipo.

public ref class Style : System::Windows::Threading::DispatcherObject, System::Windows::Markup::IAddChild, System::Windows::Markup::INameScope
public ref class Style : System::Windows::Threading::DispatcherObject, System::Windows::Markup::IAddChild, System::Windows::Markup::INameScope, System::Windows::Markup::IQueryAmbient
[System.Windows.Localizability(System.Windows.LocalizationCategory.Ignore)]
[System.Windows.Markup.ContentProperty("Setters")]
[System.Windows.Markup.DictionaryKeyProperty("TargetType")]
public class Style : System.Windows.Threading.DispatcherObject, System.Windows.Markup.IAddChild, System.Windows.Markup.INameScope
[System.Windows.Localizability(System.Windows.LocalizationCategory.Ignore)]
[System.Windows.Markup.ContentProperty("Setters")]
[System.Windows.Markup.DictionaryKeyProperty("TargetType")]
public class Style : System.Windows.Threading.DispatcherObject, System.Windows.Markup.IAddChild, System.Windows.Markup.INameScope, System.Windows.Markup.IQueryAmbient
[<System.Windows.Localizability(System.Windows.LocalizationCategory.Ignore)>]
[<System.Windows.Markup.ContentProperty("Setters")>]
[<System.Windows.Markup.DictionaryKeyProperty("TargetType")>]
type Style = class
    inherit DispatcherObject
    interface INameScope
    interface IAddChild
[<System.Windows.Localizability(System.Windows.LocalizationCategory.Ignore)>]
[<System.Windows.Markup.ContentProperty("Setters")>]
[<System.Windows.Markup.DictionaryKeyProperty("TargetType")>]
type Style = class
    inherit DispatcherObject
    interface INameScope
    interface IAddChild
    interface IQueryAmbient
[<System.Windows.Localizability(System.Windows.LocalizationCategory.Ignore)>]
[<System.Windows.Markup.ContentProperty("Setters")>]
[<System.Windows.Markup.DictionaryKeyProperty("TargetType")>]
type Style = class
    inherit DispatcherObject
    interface IAddChild
    interface INameScope
    interface IQueryAmbient
Public Class Style
Inherits DispatcherObject
Implements IAddChild, INameScope
Public Class Style
Inherits DispatcherObject
Implements IAddChild, INameScope, IQueryAmbient
Herencia
Atributos
Implementaciones

Ejemplos

En el ejemplo siguiente se muestra una declaración de estilo que afectará a la Background propiedad de .Control

<Style x:Key="Style1">
  <Setter Property="Control.Background" Value="Yellow"/>
</Style>

Para aplicar el estilo anterior, haga lo siguiente:

<Label Content="Yellow Background" Style="{StaticResource Style1}" />

También puede aplicar estilos a todos los elementos de un tipo determinado mediante la TargetType propiedad . Agregar el tipo de destino al estilo significa que ya no tiene que calificar completamente la propiedad que está estableciendo con la ClassName.PropertyName sintaxis. En el ejemplo siguiente se define un estilo que se aplicará a cada TextBlock elemento.

<Style TargetType="{x:Type TextBlock}">
  <Setter Property="FontFamily" Value="Segoe Black" />
  <Setter Property="HorizontalAlignment" Value="Center" />
  <Setter Property="FontSize" Value="12pt" />
  <Setter Property="Foreground" Value="#777777" />
</Style>

Nota

Muchos controles de WPF constan de una combinación de otros controles de WPF, por lo que crear un estilo que se aplique a todos los controles de un tipo puede tener un gran impacto. Por ejemplo, si crea un estilo destinado a los TextBlock controles de , Canvasel estilo se aplica a todos los TextBlock controles del lienzo, incluso si TextBlock forma parte de otro control, como ListBox.

Para obtener información sobre cómo extender o heredar de un estilo definido, consulte la BasedOn página.

Comentarios

Puede establecer un Style en cualquier elemento que derive de FrameworkElement o FrameworkContentElement. Un estilo se declara normalmente como un recurso dentro de la Resources sección. Dado que los estilos son recursos, obedecen las mismas reglas de ámbito que se aplican a todos los recursos, por lo que cuando declara un estilo afecta a dónde se puede aplicar. Si, por ejemplo, declaras el estilo en el elemento raíz del archivo XAML de definición de aplicación, el estilo se puede usar en cualquier parte de la aplicación. Si vas a crear una aplicación de navegación y declaras el estilo en uno de los archivos XAML de la aplicación, el estilo solo se puede usar en ese archivo XAML. Para obtener más información sobre las reglas de ámbito de los recursos, consulta Recursos XAML.

La declaración de estilo consta de un Style objeto que contiene una colección de uno o varios Setter objetos. Cada Setter uno consta de y Property .Value La propiedad es el nombre de la propiedad del elemento al que se va a aplicar el estilo. Después de declarar el estilo como un recurso, se puede hacer referencia a él igual que cualquier otro recurso.

Nota

Si hay más de un establecedor en la colección de establecedores con el mismo Property valor de propiedad, se usa el establecedor declarado por última vez. De forma similar, si establece un valor para la misma propiedad en un estilo y en un elemento directamente, el valor establecido en el elemento tiene prioridad directamente.

El modelo de estilo y plantillas de Windows Presentation Foundation (WPF) permite el mantenimiento y el uso compartido de un aspecto, así como la separación de la presentación y la lógica. El modelo de estilo y plantillas incluye un conjunto de características que permiten personalizar la interfaz de usuario. Este conjunto de características incluye la Style clase , así como lo siguiente:

Para obtener más información, consulte Aplicar estilos y plantillas.

Constructores

Style()

Inicializa una nueva instancia de la clase Style.

Style(Type)

Inicializa una nueva instancia de la clase Style que se va a usar en el objeto Type especificado.

Style(Type, Style)

Inicializa una nueva instancia de la clase Style que se va a usar en el objeto Type especificado y se basa en la clase Style especificada.

Propiedades

BasedOn

Obtiene o establece un estilo definido que es la base del estilo actual.

Dispatcher

Obtiene el objeto Dispatcher al que está asociado DispatcherObject.

(Heredado de DispatcherObject)
IsSealed

Obtiene un valor que indica si el estilo es de solo lectura y no se puede cambiar.

Resources

Obtiene o establece la colección de recursos que se pueden usar en el ámbito de este estilo.

Setters

Obtiene una colección de objetos Setter y EventSetter.

TargetType

Obtiene o establece el tipo para el que está previsto este estilo.

Triggers

Obtiene una colección de objetos TriggerBase que aplican valores de propiedad basados en condiciones especificadas.

Métodos

CheckAccess()

Determina si el subproceso de la llamada tiene acceso a DispatcherObject.

(Heredado de DispatcherObject)
Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.

(Heredado de Object)
GetHashCode()

Devuelve el código hash de este objeto Style.

GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
MemberwiseClone()

Crea una copia superficial del Object actual.

(Heredado de Object)
RegisterName(String, Object)

Registra un nuevo par de nombre y objeto en el ámbito de nombres actual.

Seal()

Bloquea este estilo, así como todos los generadores y desencadenadores para que no se puedan cambiar.

ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)
UnregisterName(String)

Quita una asignación de nombre y objeto del ámbito de nombres.

VerifyAccess()

Exige que el subproceso de la llamada tenga acceso a DispatcherObject.

(Heredado de DispatcherObject)

Implementaciones de interfaz explícitas

IAddChild.AddChild(Object)

Agrega un objeto secundario.

IAddChild.AddText(String)

Agrega el contenido de texto de un nodo al objeto.

INameScope.FindName(String)

Devuelve un objeto que tiene el nombre de identificación proporcionado.

IQueryAmbient.IsAmbientPropertyAvailable(String)

Consulta si la propiedad de ambiente especificada está disponible en el ámbito actual.

Se aplica a

Consulte también