Browse Source

supporting null or string.empty to trigger property notifications.

pull/422/head
danwalmsley 11 years ago
parent
commit
ec9da47d6a
  1. 2
      src/Markup/Perspex.Markup/Data/Plugins/InpcPropertyAccessorPlugin.cs
  2. 10
      tests/Perspex.Markup.UnitTests/Data/ExpressionObserverTests_Property.cs

2
src/Markup/Perspex.Markup/Data/Plugins/InpcPropertyAccessorPlugin.cs

@ -105,7 +105,7 @@ namespace Perspex.Markup.Data.Plugins
private void PropertyChanged(object sender, PropertyChangedEventArgs e)
{
if (e.PropertyName == _property.Name)
if (e.PropertyName == _property.Name || string.IsNullOrEmpty(e.PropertyName))
{
_changed(Value);
}

10
tests/Perspex.Markup.UnitTests/Data/ExpressionObserverTests_Property.cs

@ -101,7 +101,10 @@ namespace Perspex.Markup.UnitTests.Data
var sub = target.Subscribe(x => result.Add(x));
data.Foo = "bar";
Assert.Equal(new[] { "foo", "bar" }, result);
data.RaisePropertyChanged(string.Empty);
data.RaisePropertyChanged(null);
Assert.Equal(new[] { "foo", "bar", "bar", "bar" }, result);
sub.Dispose();
@ -333,6 +336,11 @@ namespace Perspex.Markup.UnitTests.Data
RaisePropertyChanged(nameof(Next));
}
}
public void RaisePropertyChanged(string propertyName)
{
base.RaisePropertyChanged(propertyName);
}
}
private class Class2 : NotifyingBase, INext

Loading…
Cancel
Save