c# - WPF: Access ObservableCollection from different UserControls -


i think problem quite simple, can't seem find solution. have application multiple possible views(user controls). in homeview-usercontrol create observablecollection.

homeview.xaml.cs:

private observablecollection<food> _foodlist = new observablecollection<food>();  public observablecollection<food> foodlist     {         { return _foodlist; }         set { _foodlist = value; }     } 

i need access observablecollection statistics-usercontrol(and others too).

i tried lots of different approaches líke commands, complex databinding, creating observablecollection in mainwindow, etc., didn't work.

if want different views of same data, should use collectionviewsource.

for instance, assume have 2 datagrids dg1, dg2, , observablecollection oc ... can write ...

cvs1 = new collectionviewsource(); cvs1 .source = oc; cvs1.view.filter = filter1; dg1.itemssource = cvs1.view;  cvs2 = new collectionviewsource(); cvs2 .source = oc; cvs2.view.filter = filter2; dg2.itemssource = cvs2.view; 

in case, filter1 , filter2 functions return true when object maches filter criteria ... eg

private bool filter1(object o) {      \\return true if o has correct properties } 

Comments