public ObservableCollection<Model.ChildCommand> ChildCommands { get; private set; }
ChildCommands 绑定(bind)到 Datagrid。
两个段都向我展示了 Datagrid 中的项目。
但是在第一个段中,当集合更改时,Datagrid 项目不会自动刷新。
使用第二段,刷新工作。
第 1 段:
var childs = from child in m_context.ChildCommand.Local
select child;
this.ChildCommands = new ObservableCollection<Model.ChildCommand>(childs);
第 2 部分:
this.ChildCommands = m_context.ChildCommand.Local;
如何使用 Segment 1 获得自动刷新?
最佳答案
Segment 1 未自动更新的原因是您最终绑定(bind)到了不同的 ObservableCollection 实例。
当 m_context.ChildCommand.Local 更改时,您的 Segment 2 数据网格会收到通知,因为它已绑定(bind)到该可观察集合实例。但是,您的 Segment 1 数据网格绑定(bind)到不同的 observable 集合实例(当您说 new ObservableCollection(childs) 时您自己创建了该实例。
如果您真的希望它们都绑定(bind)到 m_context.ChildCommand.Local 可观察集合,那么您应该这样实现它,而不是为 Segment 1 创建不同的可观察集合实例。
关于c# - 动态分配时,ObservableCollection 刷新不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27507294/