title: Combobox SelectedItem DataBinding NullReference Exception
body: <p>I am a bit frustrated with combobox right now and am hoping someone has an answer for my question. The problem is with SelectedItem.  When i run my app in debugger it will throw a null reference exception if I enter text into the ComboBox that matchs an Item(ie.. a, b, or c) in Items, and then delete the text. If i enter text into the ComboBox and that does not match and Item(ie.. z) in Items and then delete the text, it does not crash. This behavior only happens within the debugger.  If I run the application outside I do not crash. I'm using the mvvmlight tookit however i'm not thinking it has anything to do with that.  My code is below</p>
  
  <p><strong>View:</strong></p>
  
  <pre><code>&lt;ComboBox IsEditable="True"
                VerticalAlignment="Top"
                ItemsSource="{Binding Items}"
                DisplayMemberPath="Name"
                SelectedItem="{Binding Item,Mode=TwoWay}"/&gt;
  </code></pre>
  
  <p><strong>Model:</strong></p>
  
  <pre><code>public class Item
  {
      public string Name { get; set; }
      public int Id { get; set; }
  }
  </code></pre>
  
  <p><strong>VM:</strong></p>
  
  <pre><code>public MainViewModel()
      {
          Items = new List&lt;Item&gt;
            {
              new Item {Name="a", Id=0},
              new Item {Name="b", Id=1},
              new Item {Name="c", Id=2},
            };
      }
  
      /// &lt;summary&gt;
      /// The &lt;see cref="Items" /&gt; property's name.
      /// &lt;/summary&gt;
      public const string ItemsPropertyName = "Items";
  
      private List&lt;Item&gt; _items;
  
      /// &lt;summary&gt;
      /// Sets and gets the Items property.
      /// Changes to that property's value raise the PropertyChanged event. 
      /// &lt;/summary&gt;
      public List&lt;Item&gt; Items
      {
          get
          {
              return _items;
          }
          set
          {
              Set(ItemsPropertyName, ref _items, value);
          }
      }
  
      /// &lt;summary&gt;
      /// The &lt;see cref="Item" /&gt; property's name.
      /// &lt;/summary&gt;
      public const string ItemPropertyName = "Item";
  
      private Item _item;
  
      /// &lt;summary&gt;
      /// Sets and gets the Item property.
      /// Changes to that property's value raise the PropertyChanged event. 
      /// &lt;/summary&gt;
      public Item Item
      {
          get
          {
              return _item;
          }
          set
          {
              Set(ItemPropertyName, ref _item, value);
          }
      }
  </code></pre>