Exemple #1
0
        public void Start(bool hasActivator)
        {
            _isActive = !hasActivator;

            if (_styledProperty is object)
            {
                if (_binding.Mode != BindingMode.OneWayToSource)
                {
                    var priority = hasActivator ? BindingPriority.StyleTrigger : BindingPriority.Style;
                    _subscription = _target.Bind(_styledProperty, this, priority);
                }

                if (_binding.Mode == BindingMode.TwoWay)
                {
                    _subscriptionTwoWay = _target.GetBindingObservable(_styledProperty).Subscribe(this);
                }
            }
            else
            {
                if (_binding.Mode != BindingMode.OneWayToSource)
                {
                    _subscription = _target.Bind(_directProperty !, this);
                }

                if (_binding.Mode == BindingMode.TwoWay)
                {
                    _subscriptionTwoWay = _target.GetBindingObservable(_directProperty !).Subscribe(this);
                }
            }
        }