我在想如何能够在同一个项目中的两个不同的WPF窗口之间共享一个observablecollection。情况似乎很容易,但我还没有找到解决方案。WPF:在两个窗口之间共享一个可观察的集合?
我有窗口1具有绑定到一个obervablecollection像这样一个DataGrid:
public Window1()
{
InitializeComponent();
_bookLibrary = new ObservableCollection<BOOK>();
datagrid.ItemsSource = _bookLibrary;
}
在窗口1,我可以添加/删除BOOK对象/从_bookLibrary收集和正确的数据网格更新。
我有另一个窗口,Window2。 Window2使用一个服务引用,它也能够生成BOOK对象。我希望能够将Window2 BOOK对象添加到位于Window1中的_bookLibrary集合(因为Window1具有显示整个库的“主”数据网格)。
我可能想要为Window2 BOOK对象使用单独的集合,然后将该集合与Window1集合合并。
任何想法/建议将不胜感激。谢谢
对不起,我刚刚意识到我引用我的第二个窗口中的私人对象“_NameLibrary”。另一个简单的解决方案是创建一个对整个应用程序公开的类库,并继续创建2个独特的集合视图 – George 2012-05-03 21:39:59