Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Style<T> fornece uma série de métodos de extensão fluentes que suportam a configuração de Microsoft.Maui.Controls.Style.
Construtores
Style<T> fornece os seguintes construtores:
public Style(BindableProperty property, object value);
public Style(params (BindableProperty Property, object Value)[] setters);
Estes construtores podem ser usados para inicializar Style<T> e atribuí-lo a um Microsoft.Maui.Controls.Style para um único setter, da seguinte forma:
new Label
{
Style = new Style<Entry>(Entry.TextColorProperty, Colors.Red)
}
Estes construtores também podem ser usados para inicializar Style<T> e atribuí-lo a um Microsoft.Maui.Controls.Style para múltiplos setters usando tipos, assim:
new Label
{
Style = new Style<Entry>(
(Entry.TextColorProperty, Colors.Red),
(Entry.BackgroundColorProperty, Colors.White),
(Entry.FontAttributesProperty, FontAttributes.Bold))
}
Propriedades
Style<T> contém uma propriedade, MauiStyle.
Esta propriedade aproveita Microsoft.Maui.Controls.Style e é atribuída aquando da inicialização.
Os estilos adicionados a, e implementados em, Style<T> são armazenados na propriedade MauiStyle.
public Microsoft.Maui.Controls.Style MauiStyle { get; }
Methods
Style<T> oferece métodos de extensão fluentes para adicionar estilos adicionais, para definir ApplyToDerivedTypes, para definir BasedOn e para definir CanCascade.
Adicionar
Style<T> Oferece várias formas de acrescentar a um estilo já existente:
public Style<T> Add(BindableProperty property, object value);
public Style<T> AddAppThemeBinding(BindableProperty property, object light, object dark);
public Style<T> Add(params (BindableProperty Property, object Value)[] setters);
public Style<T> AddAppThemeBindings(params (BindableProperty Property, object Light, object Dark)[] setters);
public Style<T> Add(params Behavior[] behaviors);
public Style<T> Add(params TriggerBase[] triggers);
Os Add métodos podem ser usados da seguinte forma:
new Label
{
Style = new Style<Label>()
.AddAppThemeBinding(Label.TextColorProperty, Colors.Red, Colors.Orange)
.Add((Label.BackgroundColorProperty, Colors.White), (Label.FontAttributesProperty, FontAttributes.Bold))
.Add(new NumericValidationBehavior())
.Add(new EventTrigger { Event = nameof(Label.Focused) });
}
Para mais informações sobre a utilização de AddAppThemeBinding, consulte a documentação de Tematização.
Aplicar aos tipos derivados
O método de extensão fluente, ApplyToDerivedTypes(bool value), define o valor da AppleToDerivedTypes propriedade:
public Style<T> ApplyToDerivedTypes(bool value);
Pode ser usado da seguinte forma:
new Label
{
Style = new Style<Label>(Label.TextColorProperty, Colors.Red)
.ApplyToDerivedTypes(true);
}
Com base em
O método de extensão fluente, BasedOn(Style value), define o valor da BasedOn propriedade:
public Style<T> BasedOn(Style value);
Pode ser usado assim para basear o estilo atual num estilo já existente:
new VerticalStackLayout
{
Children =
{
new Label
{
Style = new Style<Label>(Label.TextColorProperty, Colors.Red)
}.Assign(out Label redTextLabel),
new Label
{
Style = new Style<Label>().BasedOn(redTextLabel.Style);
}
}
};
CanCascade
O método de extensão fluente, CanCascade(bool value), define o valor da CanCascade propriedade:
public Style<T> CanCascade(bool value);
Pode ser usado da seguinte forma:
new Label
{
Style = new Style<Label>(Label.TextColorProperty, Colors.Red).CanCascade(true);
}
.NET MAUI Community Toolkit