title: ItemsSource not propagating design time data context
body: <p>I have a view model which contains an array of items:</p>
  
  <pre><code>public class FooViewModel
  {
      public FooListItem[] ListItems { get; set; }
      ...
  }
  </code></pre>
  
  <p>I have created a subclass to act as a design time mock, with dummy data.</p>
  
  <pre><code>public class FooViewModelMock : FooViewModel
  {
      public FooViewModelMock()
      {
          ListItems = &lt;test data population...&gt;
          ...
      }
  }
  </code></pre>
  
  <p>I then hook up the mock data in the window, which works fine.</p>
  
  <pre><code>&lt;Window xmlns:mocks="clr-namespace:FooNS.Mocks"    
          xmlns:models="clr-namespace:FooNS.Model"     
          d:DataContext="{d:DesignInstance Type=mocks:FooViewModelMock, IsDesignTimeCreatable=True}"&gt; ... 
  </code></pre>
  
  <p>Then within the window I have a DataGrid and bind the ItemsSource to the property on the view model:</p>
  
  <pre><code>&lt;DataGrid ItemsSource="{Binding ListItems}"&gt; ...
  </code></pre>
  
  <p>The test data shows in the design window fine, but the trouble is that the data context of the DataGrid is still FooViewModelMock, not FooListItem, so I lose intellisense and get messages like "Cannot resolve property 'xxx' in data context of type 'FooViewModelMock'".</p>
  
  <p>I could of course set the data context in the DataGrid:</p>
  
  <pre><code>d:DataContext="{d:DesignInstance models:FooListItem}"
  </code></pre>
  
  <p>This gets me my intellisense back, but I lose the mock data.</p>
  
  <p>Is there a way I can get the design time data context to propagate down through the ItemsSource binding, and keep both the intellisense and the design view data?</p>
  
  <p>Thanks</p>