带有MVVM的WPF Toolkit DataGrid MultiSelect

时间:2009-11-17 13:47:09

标签: mvvm wpftoolkit viewmodel multi-select

我们正在使用WPF Toolkit中的WPF DataGrid并使用MVVM。我在MVVM中使用MultiSelect时遇到了一些挑战,我确信我只是缺少一些简单的东西。我可以在ViewModel中使用“IsSelected”来在DataGrid中选择行时获取事件。这适用于单个选择。

如果我设置“SelectionMode = Extended”,我仍然只在选择DataGrid中的第一行时获取事件。在代码隐藏中获取每个选择事件,但我真的想在ViewModel中使这个工作。这个multiSelect可能只是一个简单的解决方案。我还尝试将SelectedItems(复数)绑定到集合以获取所有这些,但SelectedItems是只读的,所以它不能被绑定。我肯定会欣赏有关如何执行此操作的任何想法,因为我无法将此方法从代码隐藏转移到ViewModel。

1 个答案:

答案 0 :(得分:2)

您可以在代码隐藏文件中侦听SelectionChanged事件,并将调用委托给ViewModel。

M-V-VM模式不会消除代码隐藏文件中的所有代码。它是关于分离关注点 - 将视图逻辑放入ViewModel并让视图尽可能愚蠢。

如果您对具体示例感兴趣,那么您可以查看WPF Application Framework (WAF)的ViewModel示例。

我希望这会有所帮助。