我们使用的是WPF工具包中的WPF,并采用了DataGrid。在MVVM中使用MultiSelect时,我发现了一些挑战,我确信我只是错过了一些简单的东西。当在ViewModel中选择一行时,我可以使用DataGrid中的"IsSelected“来获取事件。这对于单个选择很有效。
如果我设置为"SelectionMode=Extended“,我仍然只在代码中的DataGrid.SelectionChanged的第一行选择时得到事件,在代码中获得每个选择事件,但我真的想让这个在ViewModel中工作。对于这个multiSelect,我可能缺少一个简单的解决方案。我还尝试将SelectedItems (复数)绑定到一个集合以获取所有这些内容,但SelectedItems是只读的,因此无法绑定到。我当然会感谢任何关于如何做到这一点的想法,因为我不能将这个方法从代码后台移到ViewModel中。
发布于 2009-11-18 04:14:19
您可以侦听代码隐藏文件中的SelectionChanged事件,并将调用委托给ViewModel。
M-V-VM模式不会消除代码隐藏文件中的所有代码。它是关注点的分离--把视图逻辑放到ViewModel中,让视图尽可能的愚蠢。
如果您对具体的示例感兴趣,那么可以查看的ViewModel示例。
我希望这能帮到你。
https://stackoverflow.com/questions/1748997
复制相似问题