访问ObservableCollection中绑定到WPF DataGrid的项目

时间:2015-11-19 17:14:56

标签: c# wpf datagrid observablecollection

我有一个ObservableCollection绑定到WPF DataGrid,其中MyClass有一个布尔标志,指示是否已经看到项目。如果选择了DataGrid中的项,我想将MyClass.Seen属性设置为true以指示它已被查看。最初,DataGrid的SelectedIndex与ObservableCollection的索引匹配,但如果我使用它显示的任何各列对DataGrid进行排序,则SelectedIndex不再与ObservableCollection匹配。

到目前为止,我一直在通过ObservableCollection循环,将MyClass中的值与DataGrid的SelectedIndex行的列值进行比较,以找到匹配项。有没有更好的方法来实现这一点,引用DataGrid的SelectedIndex指向我ObservableCollection中的正确项目?

1 个答案:

答案 0 :(得分:1)

您尝试使用SelectedIndex还是SelectedItem,而不是使用SelectedValue?如果DataGrid的{​​{1}}设置为ItemSource,则这些属性应直接指向所选的包含对象。