Właściwy sposób korzystania z CollectionViewSource w ViewModel

Użyłem Drag and Drop, aby powiązać obiekt źródła danych (model DB) zDataGrid (zasadniczo po tym przykładzie wPowiązanie ramowe Entity Framework z WPF.

Wszystko działa dobrze z tą implementacją.

XAML
<Window.Resources>    
<CollectionViewSource x:Key="categoryViewSource"  
    d:DesignSource="{d:DesignInstance {x:Type local:Category}, CreateList=True}"/>
</Window.Resources>
<Grid DataContext="{StaticResource categoryViewSource}">
..
Kod za
private void Window_Loaded(object sender, RoutedEventArgs e)
{
   System.Windows.Data.CollectionViewSource categoryViewSource =
      ((System.Windows.Data.CollectionViewSource)(this.FindResource("categoryViewSource")));

  _context.Categories.Load();
  categoryViewSource.Source = _context.Categories.Local;        
}
ViewModel
public MainWindow()
{
    InitializeComponent();
    this.DataContext = new MyViewModel();
}

Jednak gdy próbuję użyć tego samego kodu z ViewModel, nie działa (FindResource nie jest dostępny), poza tym nie sądzę, aby było to właściwe podejście (tj. użyciex:Key w MVVM).

Byłbym wdzięczny za każdą pomoc, aby wskazać mi właściwy sposób wdrożeniaCollectionViewSource iDataBinding zDataGrid.

questionAnswers(3)

yourAnswerToTheQuestion