Compartir vía


Style Clase

Definición

Habilita el uso compartido de propiedades, recursos y controladores de eventos entre 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 WPF constan de una combinación de otros controles de WPF, por lo que la creación de un estilo que se aplica 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, aunque forme TextBlock parte de otro control, como .ListBox

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

Comentarios

Puede establecer en Style 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, cumplen 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 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 que se declara 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 le 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, vea Aplicar estilos y plantillas.

Constructores

Nombre Description
Style()

Inicializa una nueva instancia de la clase Style.

Style(Type, Style)

Inicializa una nueva instancia de la Style clase que se va a usar en el especificado Type y en función del especificado Style.

Style(Type)

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

Propiedades

Nombre Description
BasedOn

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

Dispatcher

Obtiene el objeto al que DispatcherDispatcherObject está asociado.

(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 dentro del ámbito de este estilo.

Setters

Obtiene una colección de Setter objetos y EventSetter .

TargetType

Obtiene o establece el tipo para el que se pretende este estilo.

Triggers

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

Métodos

Nombre Description
CheckAccess()

Determina si el subproceso que llama tiene acceso a este DispatcherObject.

(Heredado de DispatcherObject)
Equals(Object)

Determina si el objeto especificado es igual al objeto actual.

(Heredado de Object)
GetHashCode()

Devuelve el código hash de este Styleobjeto .

GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
MemberwiseClone()

Crea una copia superficial del Objectactual.

(Heredado de Object)
RegisterName(String, Object)

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

Seal()

Bloquea este estilo y 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 objeto de nombre del ámbito de nombres.

VerifyAccess()

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

(Heredado de DispatcherObject)

Implementaciones de interfaz explícitas

Nombre Description
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 una propiedad ambiente especificada está disponible en el ámbito actual.

Se aplica a

Consulte también