2012-07-27 54 views
1

我有一个WPF项目中的数据网格,我使用MVVM模式。我希望能够选择多行并在代码中知道所选的行。为此,我在dataGrid中将扩展值设置为selectionMode属性。如何知道在扩展选择模式DataGrid中选定的项目?

我也使用MVVM light将事件selectionChanged转换为命令,并将SelectedItems属性作为参数传递。

我注意到以下几点。当我用鼠标选择第一行时,在slectionChanged方法中,我收到一行,没关系。例如,这是第一行。

现在,我按下ctrl键并选择第三行。如果我收到0行。如果现在我选择第二行,那么我收到第一行,第二行。

所以看来,我只能接收最后一行,但只有当有一个连续的行块时,如果我选择了交替行,那么我收到0行。

当我选择交替行时,如何知道所选行?当我选择一个conitnue块的行时,如何知道所有选定的行?

谢谢。

+1

确保您的SelectionUnit是行 – ethicallogics 2012-07-27 10:01:36

+0

谢谢,这解决了我的问题。 – 2012-07-27 10:14:12

+0

@ethicallogics:发布它作为答案。 – 2012-07-27 12:03:59

回答

4

确保您的Datagrid楼盘> SelectionUnit是行

。我希望这将有助于。