0

我的视图中有一个 DataGrid,我想选择一行。在我的视图模型中,我有一个属性来绑定 dataGrid 的 SelectedIndex。

当我向 dataGrid 添加新行时,此元素将添加到元素的末尾,显示在 dataGrid 中我可以在最后一个位置看到它。

但是,如果我因为单击列名而缩短了 dataGrid 中的元素,并且此过滤器使新元素位于 dataGrid 的第一个位置,那么我选择了不正确的元素,因为在内部新元素在 N 位置,而不是第一个。

例如。我有一张包含人名和用户名的表。我在 dataGrid 中找到了一些人,并按名称简称他们。现在我插入一个名为 AAAA 的新人。当我添加新人时,在 dataGrid 中我可以在第一行中设置此人,但我选择最后一个人,因为在我的视图模型中我选择了我的新人的索引,该索引在内部添加在末尾。

当我使用过滤器时,如何在数据网格中选择正确的行?

谢谢。

4

1 回答 1

1

您可以使用 ICollectionView 来处理您的 SelectedItem

this._myView= CollectionViewSource.GetDefaultView(this.MySourceCollection);
...
this._myView.MoveCurrentTo(newitemwithAAAA);

然后你的新元素被选中

于 2013-07-19T10:43:18.027 回答