caixa de seleção selecionada no WPF
Pergunta
Tenho muitas caixas de seleção no meu formulário WPF.Quero obter apenas o valor da caixa de seleção selecionada.No Winforms podemos usar foreach(checkbox ck in controls)
, mas não posso usar assim em formulários WPF.Como posso obter a caixa de seleção selecionada no WPF?
Solução
Primeiro de tudo, o WPF não é apenas mais um substituto para o WinForms, portanto os truques no WinForms podem ser um pouco diferentes do WPF. O WPF tem tudo a ver com o banco de dados, portanto, leia sobre o padrão MVVM, que realmente o ajudará no desenvolvimento do WPF. Agora, chegando ao caminho para seguir com a abordagem do MVVM. Agora, o datatemplate possui uma caixa de seleção.
public List<bool> MyBoolCollection{get; set;}
<ItemsControl ItemsSource="{Binding MyBoolCollection}" ...>
<ItemsControl.ItemTemplate>
<DataTemplate>
<CheckBox IsChecked="{Binding}"/>
</DataTemplate>
</ItemsControl.ItemTemplate>
Outras dicas
Você pode vincular os dados da propriedade IsChecked para cada CheckBox?Vincule-o a uma variável de membro da classe contêiner.Pelo menos desta forma você pode iterar sobre as variáveis de membro para determinar se alguma está marcada.