我的 WPF 表单中有很多复选框。我想单独获取选定的复选框值。在 Winforms 中我们可以使用foreach(checkbox ck in controls)
,但我不能在 WPF Forms 中那样使用。如何在 WPF 中获得选中的复选框?
问问题
952 次
2 回答
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>
于 2010-03-23T03:40:09.280 回答
0
您可以为每个 CheckBox 绑定 IsChecked 属性吗?将其绑定到容器类的成员变量。至少通过这种方式,您可以遍历成员变量以确定是否检查了任何变量。
于 2010-03-23T03:35:24.697 回答