0

我有一个dataGrid扩展的选择模式,所以我可以选择很多行。

我有一个带有多值转换器的样式触发器,可以根据某些条件设置行的背景颜色。

好吧,在我的探测中,我传递了三个参数ItemsSourceSelectedItemsselectedItem。我注意到以下行为:

当我选择第一行时,ItemsSourcedataGrid. 这是对的。SelectedItems有 0 个项目并且selectedItem为空。但是,如果什么都不做,代码在转换器中第二次输入,在这种情况下SelectedItem是在 中选择的项目dataGrid,但SelectedItems没有项目。

当我选择第二行时,SelectedItems有一个项目,第一个选定的行dataGrid,并且selectedItem也有第一行。在这种情况下,代码不会第二次进入转换器。

当我选择第三行时,SelectedItems有两个项目,第一行和第二行被选中,但第三行没有。SelectedItem选择了第一行。

所以我看到SelectedItem总是选择第一行并且选择SelectedItems了 n-1 行。

但是我怎么知道当前选择的行是什么?新行?

4

1 回答 1

2
<DataGrid SelectionMode="Extended" SelectionUnit="FullRow"></DataGrid>

您的 selectionUnit 必须是 FullRow 。我希望这会有所帮助。

于 2012-07-28T13:36:59.407 回答