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 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. |