Accessing items in ObservableCollection bound to WPF DataGrid

帅比萌擦擦* 提交于 2020-01-07 09:35:07

问题


I have an ObservableCollection bound to a WPF DataGrid in which MyClass has a Boolean flag indicating if item has been seen or not. If the item in the DataGrid is selected I want to set the MyClass.Seen property to true to indicate that it was viewed. Initially, the SelectedIndex of the DataGrid matches to the index of the ObservableCollection but if I ever sort the DataGrid using any of the various columns that it displays, the SelectedIndex no longer matches with the ObservableCollection.

Up until now I have been looping thru the ObservableCollection comparing a value in MyClass to a column value of the DataGrid's SelectedIndex row to find a match. Is there a better way to accomplish this where referencing the SelectedIndex of the DataGrid points me to the correct item in the ObservableCollection?


回答1:


Rather than using SelectedIndex, have you tried using SelectedItem or SelectedValue? If the DataGrid's ItemSource is set to your ObservableCollection, then those properties should point directly to the selected contained object.



来源:https://stackoverflow.com/questions/33810285/accessing-items-in-observablecollection-bound-to-wpf-datagrid

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!