Browse Source

Fixed validation propogation on direct properties.

pull/514/head
Jeremy Koritzinsky 10 years ago
parent
commit
6a8e5e2390
  1. 5
      src/Perspex.Base/PerspexObject.cs

5
src/Perspex.Base/PerspexObject.cs

@ -401,17 +401,22 @@ namespace Perspex
GetDescription(source));
IDisposable subscription = null;
IDisposable validationSubcription = null;
subscription = source
.Where(x => !(x is ValidationStatus))
.Select(x => CastOrDefault(x, property.PropertyType))
.Do(_ => { }, () => s_directBindings.Remove(subscription))
.Subscribe(x => DirectBindingSet(property, x));
validationSubcription = source.OfType<ValidationStatus>().Subscribe(x => ValidationChanged(property, x));
s_directBindings.Add(subscription);
s_directBindings.Add(validationSubcription);
return Disposable.Create(() =>
{
validationSubcription.Dispose();
s_directBindings.Remove(validationSubcription);
subscription.Dispose();
s_directBindings.Remove(subscription);
});

Loading…
Cancel
Save