2010-04-08 49 views
1

我正在寻找一种轻松维护属于特定组的用户列表的方法。
我曾考虑过使用Picklist,其中有两个列表框,第一个包含用户列表,第二个列表是属于该组的用户列表。将会有按钮允许添加和删除组中的选定用户。随着用户被添加,他们从左侧列表框移动到右侧,当他们被删除时,他们从右侧移动到列表。这是很常见的情况。WPF MVVM Picklist示例

您是否知道使用MVVM模式在WPF中执行此操作的任何示例?

我很难理解绑定如何工作到我的视图模型和业务实体。特别是将数据保存回数据库。我正在使用存储过程调用来执行CRUD逻辑,所以我需要保留已删除哪些用户的列表,以便删除它们。

这是执行此功能的最佳方式还是有更好的方法。我只是想从列表中选择(列表可能很大)。

回答

1

这应该很容易实现。在您的视图模型中,创建两个可观察的集合属性,一个包含不在组中的用户,另一个包含用户。还为每个集合创建选定项目属性。将项目控件'ItemsSourceSelectedItem属性绑定到这些属性。然后实现从一个集合中删除选定项目并将其添加到另一个集合的命令,并将这些命令绑定到您的按钮。

跟踪哪些用户已被删除的最简单方法不是。当需要更新数据库时,将视图模型集合的内容与数据库中的内容进行比较。如果某个对象位于“不在组”集合中,且数据库认为它在该组中,请将其删除。如果一个对象在你的“in group”集合和数据库中认为它不是,那么添加它。

+0

感谢你的回复。我正确地称这种控件为'picklist'还是有正确的名词? – Tim 2010-04-09 08:32:29