title: Binding to individual elements in a collection
body: <p>I am fairly new to MVVM, so bear with.  I have a view model class that has a public property implemented as so:</p>
  
  <pre><code>public List&lt;float&gt; Length
  {
    get;
    set;
  }
  </code></pre>
  
  <p>In my XAML for the view, I have several text boxes, with each one bound to a specific element in this Length list:</p>
  
  <pre><code>  &lt;TextBox Text="{Binding Length[0], Converter=DimensionConverter}" /&gt;
    &lt;TextBox Text="{Binding Length[2], Converter=DimensionConverter}" /&gt;
    &lt;TextBox Text="{Binding Length[4], Converter=DimensionConverter}" /&gt;
  </code></pre>
  
  <p>The DimensionConverter is a IValueConverter derived class that formats the values like a dimension (i.e. 480.0 inches becomes 40'0" in the text box on screen), and back again (i.e. takes 35'0" for a string and yield 420.0 inches for the source)</p>
  
  <p>My issue: I need to be able to validate each value in the List as it is changed in the associated TextBox.  For some, I may need to modify other values in the List depending on the entered value (i.e. change the float at Length[0] will change the value at Length[4] and update the screen).  </p>
  
  <p>Is there any way to re-work the property to allow for an indexer?  Or, do I need to create individual properties for each item in the List (which really makes the List unnecessary)?  Essentially, since I already have the collection of float, I was hoping to be able to write MVVM code to validate each item as it is modified.</p>
  
  <p>Thoughts?  (and, thanks in advance)</p>