我有dataGrid
扩展的选择模式,所以我可以选择很多行。
我有一个带有多值转换器的样式触发器,可根据某些条件设置行的背景颜色。
好吧,在我的探针中,我传递了三个参数:ItemsSource
,SelectedItems
和selectedItem
。我注意到以下行为:
当我选择第一行时,ItemsSource
包含dataGrid
的所有行。这是对的。 SelectedItems
有0项,selectedItem
为空。但是,如果没有做任何操作,代码会在转换器中第二次输入,在这种情况下,SelectedItem
是dataGrid
中选择的项目,但SelectedItems
没有项目。
当我选择第二行时,SelectedItems
有一个项目,dataGrid
的第一个选定行和selectedItem
也有第一行。在这种情况下,代码不会在转换器中第二次输入。
当我选择第三行时,SelectedItems
有两个项目,第一行和第二行被选中,但不是第三行。 SelectedItem
已选择第一行。
所以我看到SelectedItem
总是选择第一行,SelectedItems
有n-1个选定的行。
但我怎么知道当前选定的行是什么?新行?
答案 0 :(得分:2)
<DataGrid SelectionMode="Extended" SelectionUnit="FullRow"></DataGrid>
您的selectionUnit必须是FullRow。我希望这会有所帮助。