我有一个dataGrid
扩展的选择模式,所以我可以选择很多行。如何获取在扩展选择模式下选择的当前DataGrid行?
我有一个样式触发器,有一个多值转换器,根据一些条件设置行的背景颜色。
那么,在我的探测中,我传递了三个参数:ItemsSource
,SelectedItems
和selectedItem
。我注意到以下行为:
当我选择第一行时,ItemsSource
包含dataGrid
的所有行。这是对的。 SelectedItems
有0项,selectedItem
为空。但是,不做任何事情,代码在转换器中第二次输入,在这种情况下SelectedItem
是在dataGrid
中选择的项目,但SelectedItems
没有项目。
当我选择第二行时,SelectedItems
有一个项目,dataGrid
和selectedItem
的第一个选定行也有第一行。在这种情况下,代码不会在转换器中第二次进入。
当我选择第三行时,SelectedItems
有两项,第一行和第二行被选中,但不是第三行。 SelectedItem
选择了第一行。
所以我看到SelectedItem
总是选择第一行,SelectedItems
有n-1个选定的行。
但我怎么知道当前选中的行是什么?新排?
清理问题。例如。 “但是,不做任何事,代码第二次进入转换器” – Paparazzi 2012-07-28 13:21:46