Compartilhar via


Style Classe

Definição

Habilita o compartilhamento de propriedades, recursos e manipuladores de eventos entre instâncias de um 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 a seguir 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}" />

Você também pode aplicar estilos a todos os elementos de um determinado tipo usando a TargetType propriedade. Adicionar o tipo de destino ao estilo significa que você não precisa mais qualificar totalmente a propriedade que está configurando com a ClassName.PropertyName sintaxe. O exemplo a seguir 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>

Observação

Muitos controles WPF consistem em uma combinação de outros controles do WPF, portanto, criar um estilo que se aplique a todos os controles de um tipo pode ter amplo impacto. Por exemplo, se você criar um estilo direcionado aos TextBlock controles em um Canvas, o estilo será aplicado a todos os TextBlock controles na tela, mesmo que faça TextBlock parte de outro controle, como um ListBox.

Para obter informações sobre como estender ou herdar de um estilo definido, consulte a BasedOn página.

Comentários

Você pode definir um Style elemento em qualquer elemento que deriva de FrameworkElement ou FrameworkContentElement. Um estilo é mais comumente declarado como um recurso dentro da Resources seção. Como os estilos são recursos, eles obedecem às mesmas regras de escopo que se aplicam a todos os recursos, portanto, onde você declara um estilo afeta onde ele pode ser aplicado. Se, por exemplo, você declarar o estilo no elemento raiz do arquivo XAML de definição de aplicativo, o estilo poderá ser usado em qualquer lugar do aplicativo. Se você estiver criando um aplicativo de navegação e declarar o estilo em um dos arquivos XAML do aplicativo, o estilo só poderá ser usado nesse arquivo XAML. Para obter mais informações sobre regras de escopo para recursos, consulte Recursos XAML.

A declaração de estilo consiste em um Style objeto que contém uma coleção de um ou mais Setter objetos. Cada Setter um consiste em um Property e um Value. A propriedade é o nome da propriedade do elemento ao qual o estilo deve ser aplicado. Depois que o estilo é declarado como um recurso, ele pode ser referenciado como qualquer outro recurso.

Observação

Se houver mais de um setter na coleção setter com o mesmo Property valor de propriedade, o setter que é declarado por último será usado. Da mesma forma, se você definir um valor para a mesma propriedade em um estilo e em um elemento diretamente, o valor definido no elemento terá precedência diretamente.

O modelo de modelagem e estilo do WPF (Windows Presentation Foundation) permite a manutenção e o compartilhamento de uma aparência, bem como a separação de apresentação e lógica. O modelo de modelagem e estilo inclui um conjunto de recursos que permitem personalizar sua interface do usuário. Este conjunto de recursos inclui a Style classe, bem como o seguinte:

Para obter mais informações, consulte Estilo e Modelagem.

Construtores

Nome Description
Style()

Inicializa uma nova instância da classe Style.

Style(Type, Style)

Inicializa uma nova instância da Style classe a ser usada no especificado Type e com base no especificado Style.

Style(Type)

Inicializa uma nova instância da Style classe a ser usada no especificado Type.

Propriedades

Nome Description
BasedOn

Obtém ou define um estilo definido que é a base do estilo atual.

Dispatcher

Obtém o Dispatcher que DispatcherObject está associado.

(Herdado de DispatcherObject)
IsSealed

Obtém um valor que indica se o estilo é somente leitura e não pode ser alterado.

Resources

Obtém ou define a coleção de recursos que podem ser usados dentro do escopo desse estilo.

Setters

Obtém uma coleção de objetos e EventSetter objetosSetter.

TargetType

Obtém ou define o tipo para o qual esse estilo se destina.

Triggers

Obtém uma coleção de TriggerBase objetos que aplicam valores de propriedade com base nas condições especificadas.

Métodos

Nome Description
CheckAccess()

Determina se o thread de chamada tem acesso a isso DispatcherObject.

(Herdado de DispatcherObject)
Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetHashCode()

Retorna o código hash para isso Style.

GetType()

Obtém o Type da instância atual.

(Herdado de Object)
MemberwiseClone()

Cria uma cópia superficial do Objectatual.

(Herdado de Object)
RegisterName(String, Object)

Registra um novo par nome-objeto no namescope atual.

Seal()

Bloqueia esse estilo e todas as fábricas e gatilhos para que eles não possam ser alterados.

ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)
UnregisterName(String)

Remove um mapeamento de nome-objeto do namescope.

VerifyAccess()

Impõe que o thread de chamada tenha acesso a isso DispatcherObject.

(Herdado de DispatcherObject)

Implantações explícitas de interface

Nome Description
IAddChild.AddChild(Object)

Adiciona um objeto filho.

IAddChild.AddText(String)

Adiciona o conteúdo de texto de um nó ao objeto.

INameScope.FindName(String)

Retorna um objeto que tem o nome de identificação fornecido.

IQueryAmbient.IsAmbientPropertyAvailable(String)

Consulta se uma propriedade ambiente especificada está disponível no escopo atual.

Aplica-se a

Confira também