protected void UpdateChildBinding()
        {
            if (_currentChildBinding != null)
            {
                _currentChildBinding.Changed -= ChildSourceBindingChanged;
                _currentChildBinding.Dispose();
                _currentChildBinding = null;
            }

            if (NotifyChange == null)
            {
                return;
            }

            var currentValue = NotifyChange.Value;

            if (currentValue == null)
            {
                // value will be missing... so end consumer will need to use fallback values
                return;
            }
            else
            {
                _currentChildBinding          = SourceBindingFactory.CreateBinding(currentValue, _childTokens);
                _currentChildBinding.Changed += ChildSourceBindingChanged;
            }
        }
 protected virtual void ClearSourceBinding()
 {
     if (_sourceBinding != null)
     {
         _sourceBinding.Dispose();
         _sourceBinding = null;
     }
 }
Esempio n. 3
0
 private void ClearSourceBinding()
 {
     if (_sourceBinding != null)
     {
         _sourceBinding.Dispose();
         _sourceBinding = null;
     }
 }
        protected override void Dispose(bool isDisposing)
        {
            if (isDisposing && _currentChildBinding != null)
            {
                _currentChildBinding.Changed -= ChildSourceBindingChanged;
                _currentChildBinding.Dispose();
                _currentChildBinding = null;
            }

            base.Dispose(isDisposing);
        }
Esempio n. 5
0
        protected override void Dispose(bool isDisposing)
        {
            if (isDisposing)
            {
                if (_currentChildBinding != null)
                {
                    _currentChildBinding.Dispose();
                    _currentChildBinding = null;
                }
            }

            base.Dispose(isDisposing);
        }
 private void ClearPathSourceBinding()
 {
     if (_sourceBinding != null)
     {
         _sourceBinding.Changed -= SourceBindingOnChanged;
         _sourceBinding.Dispose();
         _sourceBinding = null;
     }
 }
Esempio n. 7
0
        private void UpdateChildBinding()
        {
            if (_currentChildBinding != null)
            {
                _currentChildBinding.Changed -= ChildSourceBindingChanged;
                _currentChildBinding.Dispose();
                _currentChildBinding = null;
            }
            var currentValue = FieldInfo.GetValue(Source);

            if (currentValue == null)
            {
                // value will be missing... so end consumer will need to use fallback values
                return;
            }
            else
            {
                _currentChildBinding          = SourceBindingFactory.CreateBinding(currentValue, _childTokens);
                _currentChildBinding.Changed += ChildSourceBindingChanged;
            }
        }