title: Nested custom ContentControl not being displayed
body: <p>I've got nested custom ContentControls, and I'm having difficulty getting the inner control to render inside of the outer control.  Here's an example of how the two controls are composed:</p>
  
  <pre><code>&lt;Window ...&gt;
      &lt;StackPanel&gt;
          &lt;local:Outer&gt; &lt;!-- Nothing in here gets displayed --&gt;
              &lt;local:Inner&gt;
                  &lt;TextBlock&gt;Fahrvergnügen&lt;/TextBlock&gt;
              &lt;/local:Inner&gt;
          &lt;/local:Outer&gt;
          &lt;local:Inner&gt; &lt;!-- This is displayed just fine --&gt;
              &lt;TextBlock&gt;some text&lt;/TextBlock&gt;
          &lt;/local:Inner&gt;
      &lt;/StackPanel&gt;
  &lt;/Window&gt;
  </code></pre>
  
  <p>Inner and Outer's styles are defined as follows:</p>
  
  <pre><code>&lt;ResourceDictionary ...&gt;
  
      &lt;Style TargetType="{x:Type local:Outer}"&gt;
          &lt;Setter Property="Template"&gt;
              &lt;Setter.Value&gt;
                  &lt;ControlTemplate TargetType="{x:Type local:Outer}"&gt;
                      &lt;ContentPresenter /&gt;
                  &lt;/ControlTemplate&gt;
              &lt;/Setter.Value&gt;
          &lt;/Setter&gt;
      &lt;/Style&gt;
  
      &lt;Style TargetType="{x:Type local:Inner}"&gt;
          &lt;Setter Property="Template"&gt;
              &lt;Setter.Value&gt;
                  &lt;ControlTemplate TargetType="{x:Type local:Inner}"&gt;
                      &lt;ContentPresenter /&gt;
                  &lt;/ControlTemplate&gt;
              &lt;/Setter.Value&gt;
          &lt;/Setter&gt;
      &lt;/Style&gt;
  
  &lt;/ResourceDictionary&gt;
  </code></pre>
  
  <p>An added wrinkle is that Outer is using a ContentPropertyAttribute that points to a List:</p>
  
  <pre><code>[ContentPropertyAttribute("InnerItems")]
  public class Outer : ContentControl
  {
      private List&lt;Inner&gt; innerItems = new List&lt;Inner&gt;();
  
      static Outer()
      {
          DefaultStyleKeyProperty.OverrideMetadata(typeof(Outer), new FrameworkPropertyMetadata(typeof(Outer)));
      }
  
      public List&lt;Inner&gt; InnerItems { get { return this.innerItems; } }
  }
  </code></pre>
  
  <p>For completeness, here's Inner's definition, which is trivial:</p>
  
  <pre><code>public class Inner : ContentControl
  {
      static Inner()
      {
          DefaultStyleKeyProperty.OverrideMetadata(typeof(Inner), new FrameworkPropertyMetadata(typeof(Inner)));
      }
  }
  </code></pre>
  
  <p>I'm guessing the problem is that Outer's content cannot be displayed with a simple <code>&lt;ContentPresenter /&gt;</code> but I'm not sure what to replace it with.  Suggestions?</p>