Style Style Style Style Class

Definición

Habilita el uso compartido de propiedades, recursos y controladores de eventos entre las instancias de un tipo.Enables the sharing of properties, resources, and event handlers between instances of a type.

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.Markup.IQueryAmbient
type Style = class
    inherit DispatcherObject
    interface INameScope
    interface IAddChild
    interface IQueryAmbient
Public Class Style
Inherits DispatcherObject
Implements IAddChild, INameScope, IQueryAmbient
Herencia
Atributos
Implementaciones

Ejemplos

En el ejemplo siguiente se muestra una declaración Background Controlde estilo que afectará a la propiedad de.The following example shows a style declaration that will affect the Background property of a Control.

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

Para aplicar el estilo anterior, haga lo siguiente:To apply the above style, do the following:

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

También puede aplicar estilos a todos los elementos de un tipo determinado mediante la TargetType propiedad.You can also apply styles to all elements of a given type by using the TargetType property. Agregar el tipo de destino al estilo significa que ya no tiene que calificar totalmente la propiedad que está estableciendo con la ClassName.PropertyName sintaxis.Adding the target type to the style means that you no longer have to fully qualify the property you are setting with the ClassName.PropertyName syntax. En el ejemplo siguiente se define un estilo que se aplicará TextBlock a cada elemento.The following example defines a style that will be applied to every TextBlock element.

<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 WPFWPF controles se componen de una WPFWPF combinación de otros controles, por lo que la creación de un estilo que se aplica a todos los controles de un tipo puede tener un gran impacto.Many WPFWPF controls consist of a combination of other WPFWPF controls, so creating a style that applies to all controls of a type can have broad impact. Por ejemplo, si crea un estilo que tiene como destino TextBlock los controles Canvasde, el estilo se aplica a todos TextBlock los TextBlock controles del lienzo, incluso si forma parte de otro control, ListBoxcomo.For instance, if you create a style that targets the TextBlock controls in a Canvas, the style is applied to all TextBlock controls in the canvas, even if the TextBlock is part of another control, such as a ListBox.

Para obtener información sobre cómo extender o heredar de un estilo definido, vea BasedOn la página.For information on how to extend or inherit from a defined style, see the BasedOn page.

Comentarios

Puede establecer Style en cualquier elemento que se derive de FrameworkElement o FrameworkContentElement.You can set a Style on any element that derives from FrameworkElement or FrameworkContentElement. Un estilo se declara normalmente como un recurso dentro de la Resources sección.A style is most commonly declared as a resource inside the Resources section. Dado que los estilos son recursos, siguen las mismas reglas de ámbito que se aplican a todos los recursos, por lo que cuando se declara un estilo se ve afectado el lugar en el que se puede aplicar.Because styles are resources, they obey the same scoping rules that apply to all resources, so where you declare a style affects where it can be applied. Si, por ejemplo, declara el estilo en el elemento raíz del archivo de definición XAMLXAML de la aplicación, el estilo se puede usar en cualquier parte de la aplicación.If, for instance, you declare the style in the root element of your application definition XAMLXAML file, the style can be used anywhere in your application. Si va a crear una aplicación de navegación y declarar el estilo en uno de los XAMLXAML archivos de la aplicación, el estilo solo se puede usar en ese XAMLXAML archivo.If you are creating a navigation application and declare the style in one of the application's XAMLXAML files, the style can be used only in that XAMLXAML file. Para obtener más información sobre las reglas de ámbito de los recursos, vea recursos XAML.For more information on scoping rules for resources, see XAML Resources.

La declaración de estilo consta de Style un objeto que contiene una colección de uno o Setter más objetos.The style declaration consists of a Style object that contains a collection of one or more Setter objects. Cada Setter consta de un Property y un Value.Each Setter consists of a Property and a Value. La propiedad es el nombre de la propiedad del elemento al que se va a aplicar el estilo.The property is the name of the property of the element the style is to apply to. Una vez declarado el estilo como un recurso, se puede hacer referencia a él como cualquier otro recurso.After the style is declared as a resource, it can then be referenced just like any other resource.

Nota

Si hay más de un establecedor en la colección de establecedores con Property el mismo valor de propiedad, se utiliza el establecedor declarado en último lugar.If there is more than one setter in the setter collection with the same Property property value, the setter that is declared last is used. Del mismo modo, si establece un valor para la misma propiedad en un estilo y en un elemento directamente, el valor establecido en el elemento tendrá prioridad directamente.Similarly, if you set a value for the same property in a style and on an element directly, the value set on the element directly takes precedence.

El Windows Presentation Foundation (WPF)Windows Presentation Foundation (WPF) modelo de estilos y plantillas permite el mantenimiento y el uso compartido de una apariencia, así como la separación de la presentación y la lógica.The Windows Presentation Foundation (WPF)Windows Presentation Foundation (WPF) styling and templating model allows maintenance and sharing of a look as well as the separation of presentation and logic. El modelo de aplicación de estilos y plantillas incluye un conjunto de características que le permiten IUUIpersonalizar su.The styling and templating model includes a suite of features that enable you to customize your IUUI. Este conjunto de características incluye la Style clase, así como lo siguiente:This suite of features includes the Style class as well as the following:

Para obtener más información, consulte Aplicar estilos y plantillas.For more information, see Styling and Templating.

Constructores

Style() Style() Style() Style()

Inicializa una nueva instancia de la clase Style.Initializes a new instance of the Style class.

Style(Type) Style(Type) Style(Type) Style(Type)

Inicializa una nueva instancia de la clase Style que se va a usar en el objeto Type especificado.Initializes a new instance of the Style class to use on the specified Type.

Style(Type, Style) Style(Type, Style) Style(Type, Style) 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.Initializes a new instance of the Style class to use on the specified Type and based on the specified Style.

Propiedades

BasedOn BasedOn BasedOn BasedOn

Obtiene o establece un estilo definido que es la base del estilo actual.Gets or sets a defined style that is the basis of the current style.

Dispatcher Dispatcher Dispatcher Dispatcher

Obtiene el objeto Dispatcher al que está asociado DispatcherObject.Gets the Dispatcher this DispatcherObject is associated with.

(Inherited from DispatcherObject)
IsSealed IsSealed IsSealed IsSealed

Obtiene un valor que indica si el estilo es de solo lectura y no se puede cambiar.Gets a value that indicates whether the style is read-only and cannot be changed.

Resources Resources Resources Resources

Obtiene o establece la colección de recursos que se pueden usar en el ámbito de este estilo.Gets or sets the collection of resources that can be used within the scope of this style.

Setters Setters Setters Setters

Obtiene una colección de objetos Setter y EventSetter.Gets a collection of Setter and EventSetter objects.

TargetType TargetType TargetType TargetType

Obtiene o establece el tipo para el que está previsto este estilo.Gets or sets the type for which this style is intended.

Triggers Triggers Triggers Triggers

Obtiene una colección de objetos TriggerBase que aplican valores de propiedad basados en condiciones especificadas.Gets a collection of TriggerBase objects that apply property values based on specified conditions.

Métodos

CheckAccess() CheckAccess() CheckAccess() CheckAccess()

Determina si el subproceso de la llamada tiene acceso a DispatcherObject.Determines whether the calling thread has access to this DispatcherObject.

(Inherited from DispatcherObject)
Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Determina si el objeto especificado es igual al objeto actual.Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Devuelve el código hash para esta estructura Style.Returns the hash code for this Style.

GetType() GetType() GetType() GetType()

Obtiene el Type de la instancia actual.Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Crea una copia superficial del objeto Object actual.Creates a shallow copy of the current Object.

(Inherited from Object)
RegisterName(String, Object) RegisterName(String, Object) RegisterName(String, Object) RegisterName(String, Object)

Registra un nuevo par de nombre y objeto en el ámbito de nombres actual.Registers a new name-object pair in the current namescope.

Seal() Seal() Seal() Seal()

Bloquea este estilo, así como todos los generadores y desencadenadores para que no se puedan cambiar.Locks this style and all factories and triggers so they cannot be changed.

ToString() ToString() ToString() ToString()

Devuelve una cadena que representa el objeto actual.Returns a string that represents the current object.

(Inherited from Object)
UnregisterName(String) UnregisterName(String) UnregisterName(String) UnregisterName(String)

Quita una asignación de nombre y objeto del ámbito de nombres.Removes a name-object mapping from the namescope.

VerifyAccess() VerifyAccess() VerifyAccess() VerifyAccess()

Exige que el subproceso de la llamada tenga acceso a DispatcherObject.Enforces that the calling thread has access to this DispatcherObject.

(Inherited from DispatcherObject)

Implementaciones de interfaz explícitas

IAddChild.AddChild(Object) IAddChild.AddChild(Object) IAddChild.AddChild(Object) IAddChild.AddChild(Object)

Agrega un objeto secundario.Adds a child object.

IAddChild.AddText(String) IAddChild.AddText(String) IAddChild.AddText(String) IAddChild.AddText(String)

Agrega el contenido de texto de un nodo al objeto.Adds the text content of a node to the object.

INameScope.FindName(String) INameScope.FindName(String) INameScope.FindName(String) INameScope.FindName(String)

Devuelve un objeto que tiene el nombre de identificación proporcionado.Returns an object that has the provided identifying name.

IQueryAmbient.IsAmbientPropertyAvailable(String) IQueryAmbient.IsAmbientPropertyAvailable(String) IQueryAmbient.IsAmbientPropertyAvailable(String) IQueryAmbient.IsAmbientPropertyAvailable(String)

Consulta si la propiedad de ambiente especificada está disponible en el ámbito actual.Queries whether a specified ambient property is available in the current scope.

ISealable.CanSeal ISealable.CanSeal ISealable.CanSeal ISealable.CanSeal
ISealable.IsSealed ISealable.IsSealed ISealable.IsSealed ISealable.IsSealed
ISealable.Seal() ISealable.Seal() ISealable.Seal() ISealable.Seal()

Se aplica a

Consulte también: