title: PropertyChangedEventArgs FormatException
body: <p>I have next XAML:</p>
  
  <pre><code>&lt;TextBlock Text="{Binding Path=Parameter.LocalizedName}"/&gt;
  </code></pre>
  
  <p>And this code in my View Model:</p>
  
  <pre><code>public FilterParameter Parameter
  {
    get
    {
      return this._Parameter;
    }
    set
    {
      this._Parameter = value;
      base.RaisePropertyChanged("Parameter");
    }
  }
  </code></pre>
  
  <p>I do </p>
  
  <pre><code>this.Parameter = newParameter
  </code></pre>
  
  <p>Why I do I get</p>
  
  <blockquote>
    <p>FormatException (Input string was not in a correct format.) </p>
  </blockquote>
  
  <p>After a call to <code>PropertyChangedEventHandler</code>?</p>
  
  <p><a href="http://oi45.tinypic.com/11trceg.jpg" rel="nofollow">http://oi45.tinypic.com/11trceg.jpg</a></p>
  
  <hr>
  
  <p>Inner exception is null.
  Stack trace loook like</p>
  
  <pre><code>mscorlib.dll!System.Number.StringToNumber(string str, System.Globalization.NumberStyles options, ref System.Number.NumberBuffer number, System.Globalization.NumberFormatInfo info, bool parseDecimal) + 0xf7 bytes 
  mscorlib.dll!System.Number.ParseInt32(string s, System.Globalization.NumberStyles style, System.Globalization.NumberFormatInfo info) + 0x92 bytes   
  mscorlib.dll!string.System.IConvertible.ToInt32(System.IFormatProvider provider) + 0x2f bytes   
  mscorlib.dll!System.Convert.ChangeType(object value, System.Type conversionType, System.IFormatProvider provider) + 0x1ff bytes 
  PresentationFramework.dll!MS.Internal.Data.SystemConvertConverter.Convert(object o, System.Type type, object parameter, System.Globalization.CultureInfo culture) + 0x11 bytes  
  PresentationFramework.dll!MS.Internal.Data.DynamicValueConverter.Convert(object value, System.Type targetType, object parameter, System.Globalization.CultureInfo culture) + 0x51 bytes 
  PresentationFramework.dll!System.Windows.Controls.Primitives.Selector.VerifyEqual(object knownValue, System.Type knownType, object itemValue, MS.Internal.Data.DynamicValueConverter converter) + 0x64 bytes    
  PresentationFramework.dll!System.Windows.Controls.Primitives.Selector.FindItemWithValue(object value, out int index) + 0x1f7 bytes  
  PresentationFramework.dll!System.Windows.Controls.Primitives.Selector.SelectItemWithValue(object value) + 0x3e bytes    
  PresentationFramework.dll!System.Windows.Controls.Primitives.Selector.CoerceSelectedValue(System.Windows.DependencyObject d, object value) + 0x91 bytes 
  WindowsBase.dll!System.Windows.DependencyObject.ProcessCoerceValue(System.Windows.DependencyProperty dp, System.Windows.PropertyMetadata metadata, ref System.Windows.EntryIndex entryIndex, ref int targetIndex, ref System.Windows.EffectiveValueEntry newEntry, ref System.Windows.EffectiveValueEntry oldEntry, ref object oldValue, object baseValue, object controlValue, System.Windows.CoerceValueCallback coerceValueCallback, bool coerceWithDeferredReference, bool coerceWithCurrentValue, bool skipBaseValueChecks) + 0x55 bytes   
  WindowsBase.dll!System.Windows.DependencyObject.UpdateEffectiveValue(System.Windows.EntryIndex entryIndex, System.Windows.DependencyProperty dp, System.Windows.PropertyMetadata metadata, System.Windows.EffectiveValueEntry oldEntry, ref System.Windows.EffectiveValueEntry newEntry, bool coerceWithDeferredReference, bool coerceWithCurrentValue, System.Windows.OperationType operationType) + 0x247 bytes   
  WindowsBase.dll!System.Windows.DependencyObject.InvalidateProperty(System.Windows.DependencyProperty dp, bool preserveCurrentValue) + 0xd1 bytes    
  PresentationFramework.dll!System.Windows.StyleHelper.InvalidateDependents(System.Windows.Style ownerStyle, System.Windows.FrameworkTemplate frameworkTemplate, System.Windows.DependencyObject container, System.Windows.DependencyProperty dp, ref MS.Utility.FrugalStructList&lt;System.Windows.ChildPropertyDependent&gt; dependents, bool invalidateOnlyContainer) + 0x79 bytes   
  PresentationFramework.dll!System.Windows.StyleHelper.OnBindingValueInTemplateChanged(object sender, MS.Internal.Data.BindingValueChangedEventArgs e) + 0xe2 bytes   
  PresentationFramework.dll!System.Windows.Data.BindingExpressionBase.ChangeValue(object newValue, bool notify) + 0x94 bytes  
  PresentationFramework.dll!System.Windows.Data.BindingExpression.TransferValue(object newValue, bool isASubPropertyChange) + 0x40c bytes 
  PresentationFramework.dll!System.Windows.Data.BindingExpression.ScheduleTransfer(bool isASubPropertyChange) + 0x3a bytes    
  PresentationFramework.dll!MS.Internal.Data.ClrBindingWorker.NewValueAvailable(bool dependencySourcesChanged, bool initialValue, bool isASubPropertyChange) + 0x60 bytes 
  PresentationFramework.dll!MS.Internal.Data.PropertyPathWorker.UpdateSourceValueState(int k, System.ComponentModel.ICollectionView collectionView, object newValue, bool isASubPropertyChange) + 0x211 bytes 
  PresentationFramework.dll!MS.Internal.Data.ClrBindingWorker.OnSourcePropertyChanged(object o, string propName) + 0x85 bytes 
  PresentationFramework.dll!MS.Internal.Data.PropertyPathWorker.OnPropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e) + 0x68 bytes   
  WindowsBase.dll!System.Windows.WeakEventManager.ListenerList&lt;System.ComponentModel.PropertyChangedEventArgs&gt;.DeliverEvent(object sender, System.EventArgs e, System.Type managerType) + 0x12c bytes 
  WindowsBase.dll!System.ComponentModel.PropertyChangedEventManager.OnPropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs args) + 0x40c bytes   
  &gt;   MyApp.Framework.Core.dll!MyApp.Framework.Core.NotifyObject.RaisePropertyChanged(string propertyName) Line 45 + 0x32 bytes   C# 
  </code></pre>