WPF - 将数据从数据库绑定到复选框控件的最佳方法是什么

时间:2016-11-15 22:34:41

标签: c# wpf checkbox

我在WPF中使用复选框控制时遇到了困难。我想要的是做一些过滤器。 所以首先我需要用数据库项填充复选框控件 2.其次,我需要检查是否有任何问题 3.第三,如果检查了任何内容,我想获取这些值并使用它们来搜索数据库 4.我应该只使用复选框控件还是应该将它放在某个容器或listBox中?

我在这里找到了许多提到这些内容的主题,但我无法找到完整的答案,只有很多相互不兼容的部分。如果有人向我解释WPF中的复选框如何工作,我将非常感激。

1 个答案:

答案 0 :(得分:0)

如果您有多个值并且想要显示多个CheckBox,每个CheckBox都有一个,那么您将需要使用ListBox并使TemplateItem成为CheckBox。这样,您的项目集合就会绑定到ListBox,对于ListBox中的每个项目,都会显示一个CheckBox。

因此,如果您正在进行MVVM并且不想触摸UI,那么在获得额外步骤之后获取每个值。你要做的是创建一个围绕你的类的包装类,并为IsChecked数据提供额外的属性。这样,您可以在不触及UI的情况下获得已检查状态。

我的博客上有一个例子: Checked ListBox in WPF

要检查哪些项目已经过检查,您只需要一个简单的LINQ查询。因此,如果您在我的博客中使用示例,那么您应该可以执行以下操作:

var checkedCustomers = Customers.Where(w => w.IsChecked).ToList();