private static void ClearBinding(IDataBinding binding) { binding.Dispose(); var dataBinding = binding as DataBinding; if (dataBinding == null) { ServiceProvider.AttachedValueProvider.Clear(binding, IsRegisteredMember); } else { dataBinding.IsAssociated = false; } }
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(); } }
public override void Dispose() { _binding.Dispose(); }
private static void ClearBinding(IDataBinding binding) { binding.Dispose(); var dataBinding = binding as DataBinding; if (dataBinding == null) ServiceProvider.AttachedValueProvider.Clear(binding, IsRegisteredMember); else dataBinding.IsAssociated = false; }