Exemplo n.º 1
0
        public override void Attach(FrameworkElement element, BaseValueSource valueSource)
        {
            IDataTriggerCondition condition = CreateDataTriggerCondition(element);

            condition.IsMatchedChanged += (sender, e) => OnConditionIsMatchedChanged(element, valueSource, condition.IsMatched);

            if (condition.IsMatched)
            {
                Apply(element, valueSource);
            }

            attachedConditions.Add(element, condition);
        }
Exemplo n.º 2
0
        public override void Detach(FrameworkElement element, BaseValueSource valueSource)
        {
            IDataTriggerCondition condition = attachedConditions[element];

            if (condition.IsMatched)
            {
                Clean(element, valueSource);
            }

            if (condition is IDisposable)
            {
                ((IDisposable)condition).Dispose();
            }

            attachedConditions.Remove(element);
        }