private void OneTimeTargetHandler(IObserver sender, ValueChangedEventArgs args) { IDataBinding binding = Binding; if (binding != null && binding.TargetAccessor.IsAllMembersAvailable() && binding.SourceAccessor.IsAllMembersAvailable()) { binding.TargetAccessor.Source.ValueChanged -= OneTimeTargetHandler; binding.UpdateTarget(); } }
private void OneTimeHandler(IBindingSource sender, ValueChangedEventArgs args) { IDataBinding binding = Binding; if (binding == null || !IsSourceAvailable() || !binding.UpdateTarget()) { return; } UnsubscribeSources(OneTimeHandler); if (_disposeBinding) { binding.Dispose(); } }
private void OneTimeHandler(IObserver sender, ValueChangedEventArgs args) { IDataBinding binding = Binding; if (binding == null || !binding.TargetAccessor.IsAllMembersAvailable() || !binding.SourceAccessor.IsAllMembersAvailable(true)) { return; } EventHandler <IObserver, ValueChangedEventArgs> handler = OneTimeHandler; UnsubscribeSources(handler); binding.TargetAccessor.Source.ValueChanged -= handler; binding.UpdateTarget(); if (_disposeBinding) { binding.Dispose(); } }
protected override void UpdateErrors(IList <object> errors, IDataContext context) { Errors = errors ?? Empty.Array <object>(); IDataBinding dataBinding = Binding; if (_updating || dataBinding == null || !IsAttached) { return; } try { _updating = true; dataBinding.UpdateTarget(); } finally { _updating = false; } }