I used Drag and Drop to bind Data Source object (a DB model) to `DataGrid` (basically following this example in [Entity Framework Databinding with WPF](http://msdn.microsoft.com/en-us/data/jj574514). 

Everything works fine with this implementation.

XAML
----

```
<Window.Resources>    
<CollectionViewSource x:Key="categoryViewSource"  
    d:DesignSource="{d:DesignInstance {x:Type local:Category}, CreateList=True}"/>
</Window.Resources>
<Grid DataContext="{StaticResource categoryViewSource}">
..

```

Code Behind
-----------

```
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();
}

```

---

However, when I try to use the same code from within ViewModel, it doesn‘t work (`FindResource` is not available), besides, I don’t think this is the right approach (i.e. to use `x:Key` in MVVM).

I would really appreciate any help to point me what is the right way to implement `CollectionViewSource` and `DataBinding` with `DataGrid`.