title: Unable to bind the selectedIndex of a DropDownList to the selectedIndex member of a Bindable class
body: <p>I am unable to bind the selectedIndex public property of a spark DropDownList to it's original source in the view's presentation model.</p>
  
  <p>For the purposes of replicating this issue with as few lines as possible I have two views, and one presentation model. The code follows.</p>
  
  <p><em>Main.mxml</em></p>
  
  <pre><code>&lt;?xml version="1.0" encoding="utf-8"?&gt;
  &lt;s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
                 xmlns:s="library://ns.adobe.com/flex/spark" 
                 xmlns:mx="library://ns.adobe.com/flex/mx" 
                 minWidth="955" 
                 minHeight="600" 
                 xmlns:views="com.blah.views.*"&gt;
  
      &lt;views:DropDownListView/&gt;
  
  &lt;/s:Application&gt;
  </code></pre>
  
  <p><em>DropDownListView.mxml</em></p>
  
  <pre><code>&lt;?xml version="1.0" encoding="utf-8"?&gt;
  &lt;s:Group xmlns:fx="http://ns.adobe.com/mxml/2009" 
           xmlns:s="library://ns.adobe.com/flex/spark" 
           xmlns:mx="library://ns.adobe.com/flex/mx" width="400" height="300"&gt;
  
      &lt;fx:Script&gt;
          &lt;![CDATA[
              import com.blah.presentationmodels.DropDownListPresentationModel;
  
              [Bindable]
              private var pm:DropDownListPresentationModel = new DropDownListPresentationModel();
          ]]&gt;
      &lt;/fx:Script&gt;
  
      &lt;s:DropDownList id="myDropDownList" 
                      dataProvider="{pm.list}" 
                      selectedIndex="{pm.selectedIndex}" 
                      valueCommit="{pm.selectionChanged()}"/&gt;
  
  &lt;/s:Group&gt;
  </code></pre>
  
  <p><em>DropDownListPresentationModel.as</em></p>
  
  <pre><code>package com.blah.presentationmodels
  {
      import mx.collections.ArrayCollection;
  
      [Bindable]
      public class DropDownListPresentationModel
      {
          public var selectedIndex:int = -1;
          public var list:ArrayCollection = new ArrayCollection();
  
          public function DropDownListPresentationModel()
          {
              list.addItem("Load of Bread");
              list.addItem("Stick of Butter");
              list.addItem("Carton of Milk");
          }
  
          public function selectionChanged():void
          {
              var newSelectedIndex:int = selectedIndex; // always -1
          }
      }
  }
  </code></pre>
  
  <p>Debugging the application I find that selectedIndex in the presentation model always remains at the default value assigned regardless of which item I selected from the DropDownList. For the sample code above this is -1.</p>
  
  <p>How can I bind the selectedIndex in the presentation model such that it is updated appropriately when the selected item DropDownList changes?</p>