예제 #1
0
        private T Restore(UIElement element)
        {
            var result = (T)element;

            ScalarPresenter.EnterSetup(element.GetScalarFlowIndex());
            return(result);
        }
예제 #2
0
 internal void Refresh(T v, ScalarPresenter p)
 {
     if (!IsFlushing && !IsLockedByFlushingError(v))
     {
         ScalarBinding.Refresh(v, p);
     }
     v.RefreshValidation(GetValidationInfo(p.FlowIndex));
 }
예제 #3
0
 internal sealed override void PerformSetup(T element, ScalarPresenter scalarPresenter)
 {
     Setup(element, scalarPresenter);
     Refresh(element, scalarPresenter);
     if (Input != null)
     {
         Input.Attach(element);
     }
 }
예제 #4
0
        internal sealed override void Cleanup(UIElement element)
        {
            var e = Restore(element);

            if (Input != null)
            {
                Input.Detach(e);
            }
            Cleanup(e, ScalarPresenter);
            e.SetScalarFlowIndex(0);
            ScalarPresenter.ExitSetup();
        }
예제 #5
0
        internal sealed override void Refresh(UIElement element)
        {
            var e = Restore(element);

            if (Input != null)
            {
                Input.Refresh(e, ScalarPresenter);
            }
            else
            {
                Refresh(e, ScalarPresenter);
            }
            ScalarPresenter.ExitSetup();
        }
예제 #6
0
        internal sealed override void PerformSetup(T element, ScalarPresenter scalarPresenter)
        {
            var flowIndex = scalarPresenter.FlowIndex;

            for (int i = 0; i < _childBindings.Count; i++)
            {
                var childBinding = _childBindings[i];
                var child        = _childGetters[i](element);
                if (child != null)
                {
                    child.SetScalarFlowIndex(flowIndex);
                    childBinding.Setup(flowIndex);
                }
            }
        }
예제 #7
0
        private void Cleanup(T element, ScalarPresenter scalarPresenter)
        {
            var behaviors = Behaviors;

            for (int i = 0; i < behaviors.Count; i++)
            {
                behaviors[i].Cleanup(element, scalarPresenter);
            }
            var scalarElement = element as IScalarElement;

            if (scalarElement != null)
            {
                scalarElement.Cleanup(scalarPresenter);
            }
            if (_onCleanup != null)
            {
                _onCleanup(element, scalarPresenter);
            }
        }
예제 #8
0
        internal void Refresh(T element, ScalarPresenter scalarPresenter)
        {
            _isRefreshing = true;
            var behaviors = Behaviors;

            for (int i = 0; i < behaviors.Count; i++)
            {
                behaviors[i].Refresh(element, scalarPresenter);
            }
            if (_onRefresh != null)
            {
                _onRefresh(element, scalarPresenter);
            }
            var scalarElement = element as IScalarElement;

            if (scalarElement != null)
            {
                scalarElement.Refresh(scalarPresenter);
            }
            _isRefreshing = false;
        }
예제 #9
0
 void IScalarBindingBehavior <T> .Cleanup(T view, ScalarPresenter presenter)
 {
     Cleanup(view, presenter);
 }
예제 #10
0
 void IScalarBindingBehavior <T> .Refresh(T view, ScalarPresenter presenter)
 {
     Refresh(view, presenter);
 }
예제 #11
0
 void IScalarBindingBehavior <T> .Setup(T view, ScalarPresenter presenter)
 {
     Setup(view, presenter);
 }
예제 #12
0
 /// <summary>
 /// Cleanup the scalar binding.
 /// </summary>
 /// <param name="view">The target UI element.</param>
 /// <param name="presenter">The scalar presenter.</param>
 protected abstract void Cleanup(T view, ScalarPresenter presenter);
예제 #13
0
 /// <summary>
 /// Refresh the scalar binding.
 /// </summary>
 /// <param name="view">The target UI element.</param>
 /// <param name="presenter">The scalar presenter.</param>
 protected abstract void Refresh(T view, ScalarPresenter presenter);
예제 #14
0
 /// <summary>
 /// Setup the scalar binding.
 /// </summary>
 /// <param name="view">The target UI element.</param>
 /// <param name="presenter">The scalar presenter.</param>
 protected abstract void Setup(T view, ScalarPresenter presenter);