Style Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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. |