-1

我的 WPF 表单中有很多复选框。我想单独获取选定的复选框值。在 Winforms 中我们可以使用foreach(checkbox ck in controls),但我不能在 WPF Forms 中那样使用。如何在 WPF 中获得选中的复选框?

4

2 回答 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 回答