使用另一个ObservableCollection的数据更新ObservableCollection

时间:2017-01-10 01:15:54

标签: c# wpf xaml data-binding observablecollection

我目前正在开展 WPF / XAML 项目,我遇到以下问题:

我有一个ObservableCollection,一旦程序启动就会从模型中获取数据,这就是交易。

我如何制作另一个ObservableCollection代表您在第一个ObservableCollection中选择的内容来更新数据?

2 个答案:

答案 0 :(得分:1)

订阅CollectionChanged事件并重新创建ObservableCollection应该有效:

public readonly ObservableCollection<string> Collection1 =
        new ObservableCollection<string>();

public readonly ObservableCollection<string> Collection2 =
        new ObservableCollection<string>();

public ViewModel() {
    Collection1.CollectionChanged += (sender, args) =>
    {
        Collection2.Clear();
        foreach (var x in Collection1) {
            Collection2.Add(x);
        }
    };
}

答案 1 :(得分:0)

  1. 您应该查看ObservableCollection个事件。 MSDN
  2. 不建议直接使用ObservableCollection,更多 从中直接使用ObservableCollection功能的方法 应用程序中的XAML是声明您自己的非泛型自定义 派生自ObservableCollection的集合类,以及 将其约束为特定类型
  3. 可以找到herehere
  4. 的示例