title: Iterate through DataContext items without casting it to a viewmodel type
body: <p>Is their a way to access Items contained in a DataContext without having to explicitly cast it to this <code>ViewModel</code>.</p>
  
  <p>Let's say I'm binding a <code>DataContext</code> on an MvxFrameControl view, then I obtain this DataContext in code-behind once it is binded. It will look like an anonymous object containing a list of Items that are known as the children of this <code>ViewModel</code>. Can I swiss-bind these items, or some properties of this DataContext to another object, and so on?</p>
  
  <p>I.e.</p>
  
  <pre><code>this.DelayBind(() =&gt; 
          {
              var data = DataContext;
              // It looks like data contains something called "Items" with a list of children viewModels.
  
          });
  </code></pre>
  
  <p>Can I access <code>DataContext.Items[0]</code>, or at least <code>DataContext.Items</code>, and bind it to an observable collection? Then finally swiss-bind some Items to views (<code>MvxFrameControl</code>s) on their <code>DataContext</code>?</p>
  
  <p>So, summary: I'm curious if there is a way to work in code-behind with <code>DataContext</code> and its content so I could create a generic <code>MvxFrameControl</code> that would dispatch the data to custom views based on swiss-binding.</p>
  
  <p>I have <code>ViewModels</code> containing lists of lists, and I want to handle a lot of situations in code-behind as I've experienced a lot of memory problems with <code>MvxListView</code>s containing <code>MvxListView</code>s.</p>
  
  <p>[Edit]</p>
  
  <p>This is actually what I was doing in my code that led me to think I should completely redefine how bindings are done. I'll write a minimal fake axml:</p>
  
  <p>// Warning to anyone: this is a fake layout, don't use that</p>
  
  <p>view_myactivity_layout.axml :</p>
  
  <pre><code>&lt;LinearLayout&gt;
      &lt;MvxListView
           android:MvxItemTemplate="@layout/food_category_item"
           local:MvxBind="ItemsSource FoodCategories" /&gt;
  &lt;/LinearLayout&gt;
  </code></pre>
  
  <p>food_category_item.axml:</p>
  
  <pre><code>&lt;LinearLayout&gt;
      &lt;TextView
          local:MvxBind="Text Category" /&gt;
      &lt;MvxListView
          android:MvxItemTemplate="@layout/list_of_food_for_a_category_item"
          local:MvxBind="ItemsSource FoodList" /&gt;
  &lt;/LinearLayout&gt;
  </code></pre>
  
  <p>list_of_food_for_a_category_item.axml:</p>
  
  <pre><code>&lt;LinearLayout&gt;
      &lt;TextView
          local:MvxBind="Text NameOfThatFood" /&gt;
      &lt;MvxListView
          android:MvxItemTemplate="@layout/list_of_colors_for_that_food_item"
          local:MvxBind="ItemsSource FoodList" /&gt;
  &lt;/LinearLayout&gt;
  </code></pre>
  
  <p>[Etc...]</p>
  
  <p>Nesting binded controls works well, but there are tons of GC happening when scrolling. So that's why I was thinking about making my own binding pattern using reflection for this case.</p>