title: Editing a DataTemplate with Expression Blend for items that use a DataTemplateSelector
body: <p>Im my app, I have an ItemsControl element which houses user-drawn shapes.  Each specific shape's ViewModel inherits from a base ViewModel.  A DataTemplateSelector applies the correct DataTemplate based on the shape's ViewModel type.</p>
  
  <p>in my win xaml:</p>
  
  <pre><code>    &lt;ItemsControl ItemsSource="{Binding MarkupElements}"
                    ItemTemplateSelector="{StaticResource MarkupTemplateSelector}"/&gt;
          &lt;ItemsControl.ItemsPanel&gt;
              &lt;ItemsPanelTemplate&gt;
                  &lt;Canvas Panel.ZIndex="1" /&gt;
              &lt;/ItemsPanelTemplate&gt;
          &lt;/ItemsControl.ItemsPanel&gt;
      &lt;/ItemsControl&gt;
  </code></pre>
  
  <p>in a resource dictionary:</p>
  
  <pre><code>    &lt;DataTemplate x:Key="MarkupLineTemplate" DataType="x:Type vm:MarkupLineViewModel"&gt;
      &lt;.../&gt;
      &lt;/DataTemplate&gt;
      &lt;DataTemplate x:Key="MarkupCircleTemplate" DataType="x:Type vm:MarkupCircleViewModel"&gt;
      &lt;.../&gt;
      &lt;/DataTemplate&gt;
      &lt;view:MarkupTemplateSelector
      LineTemplate="{StaticResource MarkupLineTemplate}"
      CircleTemplate="{StaticResource MarkupCircleTemplate}"
      x:Key="MarkupTemplateSelector"/&gt;
  </code></pre>
  
  <p>This works fine, but Expression Blend doesn't let me edit those templates.  I can force Blend to apply a specific template, but it then adds a <code>ItemTemplate</code> property to my win.xaml set to the one I chose, overriding the selector.</p>
  
  <p>I'm using the MVVM Light Tookit, and tried adding a few design-time shapes of different types.  Blend does show them, but they're no help with accessing the templates.</p>
  
  <p>Is there a way to convince Blend that my derived ViewModels are valid for the DataContext, thus allowing me to edit the templates?  Is this even the problem?</p>