【问题标题】:Accessing items in ObservableCollection bound to WPF DataGrid访问绑定到 WPF DataGrid 的 ObservableCollection 中的项目
【发布时间】:2016-02-21 23:21:01
【问题描述】:

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

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

【问题讨论】:

  • 您应该直接询问您遇到问题的代码。请务必出示您的代码。
  • 如果有人需要查看代码,请告诉我,我会发布它,但@MSinger 在我发布后几乎立即给出了正确的答案,而无需查看任何代码。 ......谢谢

标签: c# wpf datagrid observablecollection


【解决方案1】:

您是否尝试过使用SelectedItemSelectedValue,而不是使用SelectedIndex?如果DataGridItemSource 设置为您的ObservableCollection,那么这些属性应直接指向选定的包含对象。

【讨论】:

    猜你喜欢
    • 2018-04-06
    • 2013-10-14
    • 1970-01-01
    • 2017-02-08
    • 2015-01-26
    • 2015-04-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多