Style Classe
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Permite a partilha de propriedades, recursos e gestores de eventos entre instâncias de um mesmo 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
- Herança
- Atributos
- Implementações
Exemplos
O exemplo seguinte mostra uma declaração de estilo que afetará a Background propriedade de um Control.
<Style x:Key="Style1">
<Setter Property="Control.Background" Value="Yellow"/>
</Style>
Para aplicar o estilo acima, faça o seguinte:
<Label Content="Yellow Background" Style="{StaticResource Style1}" />
Também pode aplicar estilos a todos os elementos de um dado tipo usando a TargetType propriedade. Adicionar o tipo-alvo ao estilo significa que já não precisa de qualificar totalmente a propriedade que está a definir com a ClassName.PropertyName sintaxe. O exemplo seguinte define um estilo que será aplicado 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>
Note
Muitos controlos WPF consistem numa combinação de outros controlos WPF, pelo que criar um estilo que se aplique a todos os controlos de um tipo pode ter um impacto amplo. Por exemplo, se criar um estilo que vise os TextBlock controlos em um Canvas, o estilo é aplicado a todos TextBlock os controlos na tela, mesmo que o TextBlock faça parte de outro controlo, como um ListBox.
Para informações sobre como estender ou herdar de um estilo definido, consulte a BasedOn página.
Observações
Pode definir a Style em qualquer elemento que derive de FrameworkElement ou FrameworkContentElement. Um estilo é mais frequentemente declarado como um recurso dentro da Resources secção. Como estilos são recursos, obedecem às mesmas regras de âmbito que se aplicam a todos os recursos, por isso onde declaras um estilo afeta onde pode ser aplicado. Se, por exemplo, declarar o estilo no elemento raiz do seu ficheiro XAML de definição de aplicação, o estilo pode ser usado em qualquer parte da sua aplicação. Se estiver a criar uma aplicação de navegação e declarar o estilo num dos ficheiros XAML da aplicação, o estilo só pode ser usado nesse ficheiro XAML. Para mais informações sobre regras de âmbito para recursos, consulte Recursos XAML.
A declaração de estilo consiste num Style objeto que contém uma coleção de um ou mais Setter objetos. Cada Setter um consiste em a Property e um Value. A propriedade é o nome da propriedade do elemento ao qual o estilo se deve aplicar. Depois de o estilo ser declarado como recurso, pode então ser referenciado como qualquer outro recurso.
Note
Se houver mais do que um setter na coleção de setters com o mesmo Property valor de propriedade, o setter declarado por último é usado. De forma semelhante, se definir um valor para a mesma propriedade num estilo e diretamente num elemento, o conjunto de valores sobre o elemento tem prioridade direta.
O modelo de estilização e plantil do Windows Presentation Foundation (WPF) permite a manutenção e partilha de um visual, bem como a separação entre apresentação e lógica. O modelo de estilo e modelação inclui um conjunto de funcionalidades que permitem personalizar a sua interface. Este conjunto de funcionalidades inclui a Style turma, bem como as seguintes:
Para obter mais informações, consulte Styling and Templating.
Construtores
| Name | Description |
|---|---|
| Style() |
Inicializa uma nova instância da Style classe. |
| Style(Type, Style) |
Inicializa uma nova instância da Style classe para usar no especificado Type e baseado no especificado Style. |
| Style(Type) |
Inicializa uma nova instância da Style classe para usar no .Type |
Propriedades
| Name | Description |
|---|---|
| BasedOn |
Recebe ou define um estilo definido que é a base do estilo atual. |
| Dispatcher |
Percebe o Dispatcher que isto DispatcherObject está associado. (Herdado de DispatcherObject) |
| IsSealed |
Recebe um valor que indica se o estilo é apenas leitura e não pode ser alterado. |
| Resources |
Obtém ou define a coleção de recursos que podem ser usados dentro do âmbito deste estilo. |
| Setters |
Recebe uma coleção de Setter e EventSetter objetos. |
| TargetType |
Recebe ou define o tipo para o qual este estilo se destina. |
| Triggers |
Obtém uma coleção de TriggerBase objetos que aplicam valores de propriedades com base em condições especificadas. |
Métodos
| Name | Description |
|---|---|
| CheckAccess() |
Determina se o thread que chama tem acesso a este DispatcherObject. (Herdado de DispatcherObject) |
| Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
| GetHashCode() |
Devolve o código de hash para este Style. |
| GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
| MemberwiseClone() |
Cria uma cópia superficial do atual Object. (Herdado de Object) |
| RegisterName(String, Object) |
Regista um novo par nome-objeto no namescope atual. |
| Seal() |
Tranca este estilo e todas as fábricas e gatilhos para que não possam ser alterados. |
| ToString() |
Devolve uma cadeia que representa o objeto atual. (Herdado de Object) |
| UnregisterName(String) |
Remove um mapeamento nome-objeto do namescope. |
| VerifyAccess() |
Faz cumprir que o thread que chama tem acesso a este DispatcherObject. (Herdado de DispatcherObject) |
Implementações de Interface Explícita
| Name | Description |
|---|---|
| IAddChild.AddChild(Object) |
Adiciona um objeto filho. |
| IAddChild.AddText(String) |
Adiciona o conteúdo textual de um nó ao objeto. |
| INameScope.FindName(String) |
Devolve um objeto que tem o nome identificativo fornecido. |
| IQueryAmbient.IsAmbientPropertyAvailable(String) |
Consulta se uma propriedade ambiente especificada está disponível no âmbito atual. |