Comutador
O controle .NET Multi-platform App UI (.NET MAUI) Switch é um botão de alternância horizontal que pode ser manipulado pelo usuário para alternar entre estados de ativação e desativação, que são representados por um boolean
valor.
A captura de tela a seguir mostra um controle em seus estados de alternância de Switch ativação e desativação:
O Switch controle define as seguintes propriedades:
IsToggled
é umboolean
valor que indica se o Switch está ativado. O valor padrão dessa propriedade éfalse
.OnColor
é umColor
que afeta como o Switch é renderizado no estado alternado ou ativado.ThumbColor
é oColor
polegar do interruptor.
Essas propriedades são apoiadas por BindableProperty objetos, o que significa que elas podem ser estilizadas e ser o destino de associações de dados.
O Switch controle define um evento que é gerado quando a propriedade é alterada, por meio da manipulação do usuário ou quando um Toggled
aplicativo define a IsToggled
IsToggled
propriedade. O ToggledEventArgs
objeto que acompanha o Toggled
evento tem uma única propriedade chamada Value
, do tipo bool
. Quando o evento é gerado, o Value
valor da propriedade reflete o novo valor da IsToggled
propriedade.
Criar um Switch
Um Switch pode ser instanciado em XAML. Sua IsToggled
propriedade pode ser definida para alternar o Switch. Por padrão, a IsToggled
propriedade é false
. O exemplo a seguir mostra como instanciar um Switch em XAML com o conjunto de propriedades opcional IsToggled
:
<Switch IsToggled="true"/>
A Switch também pode ser criado em código:
Switch switchControl = new Switch { IsToggled = true };
Mudar de aparência
Além das propriedades que Switch herda da View classe, Switch também define OnColor
e ThumbColor
propriedades. A OnColor
propriedade pode ser definida para definir a cor quando ela é alternada para seu estado on e a SwitchThumbColor
propriedade pode ser definida para definir o Color
polegar do switch. O exemplo a seguir mostra como instanciar um Switch em XAML com essas propriedades definidas:
<Switch OnColor="Orange"
ThumbColor="Green" />
As propriedades também podem ser definidas ao criar um Switch código in:
Switch switch = new Switch { OnColor = Colors.Orange, ThumbColor = Colors.Green };
A captura de tela a seguir mostra os estados de Switch alternância ativa e desativada, com as OnColor
propriedades e ThumbColor
definidas:
Responder a uma alteração de estado do Switch
Quando a propriedade é alterada, por meio da manipulação do usuário ou quando um aplicativo define a IsToggled
IsToggled
propriedade, o Toggled
evento é acionado. Um manipulador de eventos para esse evento pode ser registrado para responder à alteração:
<Switch Toggled="OnToggled" />
O arquivo code-behind contém o manipulador para o Toggled
evento:
void OnToggled(object sender, ToggledEventArgs e)
{
// Perform an action after examining e.Value
}
O sender
argumento no manipulador de eventos é o Switch responsável por disparar esse evento. Você pode usar a sender
propriedade para acessar o objeto ou para distinguir entre vários Switch objetos que compartilham o Switch mesmo Toggled
manipulador de eventos.
O Toggled
manipulador de eventos também pode ser atribuído no código:
Switch switchControl = new Switch {...};
switchControl.Toggled += (sender, e) =>
{
// Perform an action after examining e.Value
};
Vincular dados a um Switch
O Toggled
manipulador de eventos pode ser eliminado usando vinculação de dados e gatilhos para responder a uma Switch mudança de estados de alternância.
<Switch x:Name="styleSwitch" />
<Label Text="Lorem ipsum dolor sit amet, elit rutrum, enim hendrerit augue vitae praesent sed non, lorem aenean quis praesent pede.">
<Label.Triggers>
<DataTrigger TargetType="Label"
Binding="{Binding Source={x:Reference styleSwitch}, Path=IsToggled}"
Value="true">
<Setter Property="FontAttributes"
Value="Italic, Bold" />
<Setter Property="FontSize"
Value="18" />
</DataTrigger>
</Label.Triggers>
</Label>
Neste exemplo, o Label usa uma expressão de vinculação em um DataTrigger para monitorar a IsToggled
propriedade do Switch nome styleSwitch
. Quando essa propriedade se torna true
, as FontAttributes
propriedades e FontSize
do Label são alteradas. Quando a IsToggled
propriedade retorna para , as FontAttributes
propriedades e FontSize
do Label são redefinidas para false
seu estado inicial.
Para obter informações sobre gatilhos, consulte Triggers.
Alternar estados visuais
Switch tem On
e Off
estados visuais que podem ser usados para iniciar uma alteração visual quando a IsToggled
propriedade é alterada.
O exemplo XAML a seguir mostra como definir estados visuais para os On
estados e Off
:
<Switch IsToggled="True">
<VisualStateManager.VisualStateGroups>
<VisualStateGroup x:Name="CommonStates">
<VisualState x:Name="On">
<VisualState.Setters>
<Setter Property="ThumbColor"
Value="MediumSpringGreen" />
</VisualState.Setters>
</VisualState>
<VisualState x:Name="Off">
<VisualState.Setters>
<Setter Property="ThumbColor"
Value="Red" />
</VisualState.Setters>
</VisualState>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
</Switch>
Neste exemplo, o On
VisualState especifica que, quando a propriedade for true
, a ThumbColor
IsToggled
propriedade será definida como verde primavera média. O Off
VisualState especifica que quando a propriedade for false
, a ThumbColor
IsToggled
propriedade será definida como vermelho. Portanto, o efeito geral é que quando o está em uma posição off, seu polegar é vermelho, e seu polegar é verde primavera média quando o SwitchSwitch está em uma posição on:
Para obter mais informações sobre estados visuais, consulte Estados visuais.
Desativar um comutador
Um aplicativo pode entrar em um estado em que a Switch alternância não é uma operação válida. Nesses casos, o pode ser desabilitado Switch definindo sua IsEnabled
propriedade como false
. Isso impedirá que os usuários possam manipular o Switch.
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de