Style Classe

Definição

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.

Aplica-se a

Ver também