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); } } }