CheckBox

Browse sample. Navegue pelo exemplo

A interface do usuário do aplicativo multiplataforma .NET (.NET MAUI) CheckBox é um tipo de botão que pode ser marcado ou vazio. Quando uma caixa de seleção é marcada, ela é considerada ativada. Quando uma caixa de seleção está vazia, ela é considerada desativada.

CheckBox define as propriedades a seguir:

  • IsChecked, do tipo bool, que indica se o CheckBox está marcado. Essa propriedade tem um modo de vinculação padrão de TwoWay.
  • Color, do tipo Color, que indica a cor do CheckBox.

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.

CheckBox Define um evento que é gerado quando a propriedade é alterada, por meio da manipulação do usuário ou quando um CheckedChanged aplicativo define a IsCheckedIsChecked propriedade. O CheckedChangedEventArgs objeto que acompanha o CheckedChanged evento tem uma única propriedade chamada Value, do tipo bool. Quando o evento é gerado, o Value valor da propriedade é definido como o novo valor da IsChecked propriedade.

Criar uma caixa de seleção

O exemplo a seguir mostra como instanciar um CheckBox em XAML:

<CheckBox />

Esse XAML resulta na aparência mostrada na captura de tela a seguir:

Screenshot of an empty CheckBox.

Por padrão, o CheckBox está vazio. O CheckBox pode ser verificado pela manipulação do usuário ou definindo a IsChecked propriedade como true:

<CheckBox IsChecked="true" />

Esse XAML resulta na aparência mostrada na captura de tela a seguir:

Screenshot of a checked CheckBox.

Alternativamente, um CheckBox pode ser criado no código:

CheckBox checkBox = new CheckBox { IsChecked = true };

Responder a uma caixa de seleção alterando o estado

Quando a propriedade é alterada, por meio da manipulação do usuário ou quando um aplicativo define a IsCheckedIsChecked propriedade, o CheckedChanged evento é acionado. Um manipulador de eventos para esse evento pode ser registrado para responder à alteração:

<CheckBox CheckedChanged="OnCheckBoxCheckedChanged" />

O arquivo code-behind contém o manipulador para o CheckedChanged evento:

void OnCheckBoxCheckedChanged(object sender, CheckedChangedEventArgs e)
{
    // Perform required operation after examining e.Value
}

O sender argumento é o CheckBox responsável por esse evento. Você pode usar isso para acessar o objeto ou para distinguir entre vários CheckBox objetos que compartilham o CheckBox mesmo CheckedChanged manipulador de eventos.

Como alternativa, um manipulador de eventos para o CheckedChanged evento pode ser registrado no código:

CheckBox checkBox = new CheckBox { ... };
checkBox.CheckedChanged += (sender, e) =>
{
    // Perform required operation after examining e.Value
};

Os dados vinculam uma CheckBox

O CheckedChanged manipulador de eventos pode ser eliminado usando vinculação de dados e gatilhos para responder a um CheckBox que está sendo verificado ou vazio:

<CheckBox x:Name="checkBox" />
<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 checkBox}, Path=IsChecked}"
                     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 disparador de dados para monitorar a IsChecked propriedade do CheckBox. Quando essa propriedade se torna true, as FontAttributes propriedades e FontSize da Label alteração. Quando a IsChecked propriedade retorna para , as FontAttributes propriedades e FontSize do Label são redefinidas para falseseu estado inicial.

A captura de tela a seguir mostra a formatação quando a LabelCheckBox opção é marcada:

Screenshot of a data bound CheckBox.

Para obter mais informações sobre gatilhos, consulte Triggers.

Desativar uma caixa de seleção

Às vezes, um aplicativo entra em um estado em que uma verificação não é uma CheckBox operação válida. Nesses casos, o pode ser desabilitado CheckBox definindo sua IsEnabled propriedade como false.

Aparência da caixa de seleção

Além das propriedades que herda da classe, CheckBox também define uma Color propriedade que CheckBox define sua cor como um Color:View

<CheckBox Color="Red" />

A captura de tela a seguir mostra uma série de objetos verificados CheckBox , onde cada objeto tem sua Color propriedade definida como um Colordiferente :

Screenshot of colored CheckBoxes.

Estados visuais de CheckBox

CheckBox tem um IsCheckedVisualState que pode ser usado para iniciar uma alteração visual para o CheckBox quando ele é verificado.

O exemplo XAML a seguir mostra como definir um estado visual para o IsChecked estado:

<CheckBox ...>
    <VisualStateManager.VisualStateGroups>
        <VisualStateGroup x:Name="CommonStates">
            <VisualState x:Name="Normal">
                <VisualState.Setters>
                    <Setter Property="Color"
                            Value="Red" />
                </VisualState.Setters>
            </VisualState>

            <VisualState x:Name="IsChecked">
                <VisualState.Setters>
                    <Setter Property="Color"
                            Value="Green" />
                </VisualState.Setters>
            </VisualState>
        </VisualStateGroup>
    </VisualStateManager.VisualStateGroups>
</CheckBox>

Neste exemplo, o especifica que, quando o IsCheckedVisualStateCheckBox for marcado, sua Color propriedade será definida como verde. O NormalVisualState especifica que quando o CheckBox está em um estado normal, sua Color propriedade será definida como vermelho. Portanto, o efeito geral é que o CheckBox é vermelho quando está vazio e verde quando é verificado.

Para obter mais informações sobre estados visuais, consulte Estados visuais.