我的WPF表单中有很多复选框。我想单独获取所选的复选框值。在Winforms中我们可以使用foreach(checkbox ck in controls)
,但我不能在WPF Forms中使用它。如何在WPF中获取所选复选框?
答案 0 :(得分:2)
首先,WPF不仅仅是WinForms的另一个替代品,因此Winforms中的技巧可能与WPF略有不同。 WPF是关于DataBinding的,所以请阅读MVVM模式,它将真正帮助您进行WPF开发。 现在开始使用MVVM方法,想象一下你的ViewModel类包含一个bool集合。现在DataTemplate将CheckBox.IsChecked属性绑定到布尔值,因此当您更改复选框时,该集合将适当地保存更改的布尔值。
public List<bool> MyBoolCollection{get; set;}
<ItemsControl ItemsSource="{Binding MyBoolCollection}" ...>
<ItemsControl.ItemTemplate>
<DataTemplate>
<CheckBox IsChecked="{Binding}"/>
</DataTemplate>
</ItemsControl.ItemTemplate>
答案 1 :(得分:0)
您可以为每个CheckBox绑定数据的IsChecked属性吗?将它绑定到容器类的成员变量。至少通过这种方式,您可以迭代成员变量以确定是否检查了任何成员。