Правильный способ использования CollectionViewSource в ViewModel

Я использовал Drag and Drop, чтобы привязать объект Data Source (модель БД) кDataGrid (в основном, следуя этому примеру вСвязывание данных Entity Framework с WPF.

Все отлично работает с этой реализацией.

XAML
<Window.Resources>    
<CollectionViewSource x:Key="categoryViewSource"  
    d:DesignSource="{d:DesignInstance {x:Type local:Category}, CreateList=True}"/>
</Window.Resources>
<Grid DataContext="{StaticResource categoryViewSource}">
..
Код позади
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();
}

Однако, когда я пытаюсь использовать тот же код из ViewModel, он не работает (FindResource недоступно), кроме того, я не думаю, что это правильный подход (т.е. использоватьx:Key в MVVM).

Я был бы очень признателен за любую помощь, чтобы указать мне, как правильно реализоватьCollectionViewSource а такжеDataBinding с участиемDataGrid.

Ответы на вопрос(3)

Ваш ответ на вопрос