How can I best display this nested collection? (Can you tell me why my code isn't working?) <p>Can you tell me why this code isn't working?</p> <p>I have a viewmodel with an observablecollection of searchresults which has an observablecollection of resultproperties. I cannot seem to display the nested collection of result properties like I want.</p> <p>Here are the objects (abstracted for readability):</p> <pre><code>class ViewModel { public ObservableCollection&lt;SearchResults&lt;TDomain&gt;&gt; SearchResults { get; set; } } class SearchResults&lt;TDomain&gt; { public TDomain Result { get; set; } public ObservableCollection&lt;ResultProperty&gt; ResultProperties { get; set; } } class ResultProperty { public string PropertyValue { get; set; } } </code></pre> <p>Here is the xaml I cannot get to work. The DataContext is set to the ViewModel:</p> <pre><code>&lt;StackPanel&gt; &lt;ItemsControl ItemsSource={Binding SearchResults}&gt; &lt;ItemsControl.ItemTemplate&gt; &lt;DataTemplate&gt; &lt;StackPanel&gt; &lt;TextBlock Text={Binding Result.Id}/&gt; &lt;StackPanel Orientation="Horizontal"&gt; &lt;ItemsControl ItemsSource={Binding ResultProperties}&gt; &lt;ItemsControl.ItemTemplate&gt; &lt;DataTemplate&gt; &lt;TextBlock Text="{Binding PropertyValue}" /&gt; &lt;/DataTemplate&gt; &lt;/ItemsControl.ItemTemplate&gt; &lt;/ItemsControl&gt; &lt;/StackPanel&gt; &lt;/StackPanel&gt; &lt;/DataTemplate&gt; &lt;/ItemsControl.ItemTemplate&gt; &lt;/ItemsControl&gt; &lt;TextBlock Text="PLACEHOLDER /////"/&gt; &lt;/StackPanel&gt; </code></pre> <p>The outcome I am looking for is something like this:</p> <pre><code>[Stack panel to keep things orderly] 1 property1property2property3... 2 property1property2property3... 3 property1property2property3... PLACEHOLDER ///// </code></pre> <p>The results I am getting are these</p> <pre><code>[Stack panel to keep things orderly] 1 2 3 PLACEHOLDER ///// </code></pre> <p>In otherwords, the binding isn't picking up the string. I have verified that the collections are populating like expected. But I can't get the xaml to work.</p> <p><em><strong></em>*</strong>*ADDITION INFORMATION</p> <p>Ok, so I tried some of the solutions, but they aren't working so I am going to add more details because maybe I am missing something about how the collections are getting updated.</p> <p>The viewmodel has a button on it called "Search" which uses an ICommand that calls a the view model's TrySearch method which is below:</p> <pre><code>public void TrySearch() { var results = _model.GetAll(); foreach(var result in results) this.SearchResults.Add(new SearchResults&lt;TDomain&gt;(result)); } </code></pre> <p>Could there be a reason this doesn't work because of the way the collection is updated? SearchResults is a dependency property (I know I know, it should be INPC, but its not, its dependency), but the other collections are not. Could this be a problem?</p>