Пример #1
0
        protected virtual void NextValueChanged(object value)
        {
            var bindingBroken = BindingNotification.ExtractError(value) as MarkupBindingChainNullException;

            bindingBroken?.AddNode(Description);
            _observer.OnNext(value);
        }
Пример #2
0
        private object Translate(object o)
        {
            var weak = o as WeakReference;

            if (weak != null)
            {
                return(weak.Target);
            }
            else
            {
                var broken = BindingNotification.ExtractError(o) as MarkupBindingChainException;

                if (broken != null)
                {
                    // We've received notification of a broken expression due to a null value
                    // somewhere in the chain. If this null value occurs at the first node then we
                    // ignore it, as its likely that e.g. the DataContext has not yet been set up.
                    if (broken.HasNodes)
                    {
                        broken.Commit(Description);
                    }
                    else
                    {
                        o = AvaloniaProperty.UnsetValue;
                    }
                }
                return(o);
            }
        }
Пример #3
0
 private void ValueChanged(object value)
 {
     var broken = BindingNotification.ExtractError(value) as MarkupBindingChainException;
     broken?.Commit(Description);
     _value = new WeakReference<object>(value);
     PublishNext(value);
 }
        protected virtual void NextValueChanged(object?value)
        {
            if (_subscriber is null)
            {
                return;
            }

            var bindingBroken = BindingNotification.ExtractError(value) as MarkupBindingChainException;

            bindingBroken?.AddNode(Description ?? "{empty}");
            _subscriber(value);
        }
Пример #5
0
        private object Translate(object o)
        {
            if (o is WeakReference weak)
            {
                return(weak.Target);
            }
            else if (BindingNotification.ExtractError(o) is MarkupBindingChainException broken)
            {
                broken.Commit(Description);
            }

            return(o);
        }
Пример #6
0
        private object Translate(object o)
        {
            var weak = o as WeakReference;

            if (weak != null)
            {
                return(weak.Target);
            }
            else
            {
                var broken = BindingNotification.ExtractError(o) as MarkupBindingChainException;

                if (broken != null)
                {
                    broken.Commit(Description);
                }
                return(o);
            }
        }