Example #1
0
        protected override void InvokeOverride()
        {
            var actualTarget   = ActualTarget;
            var actualProperty = ActualProperty;
            var actualValue    = ActualValue;

            _localValue = actualTarget.ReadLocalValue(actualProperty);

            if (actualValue.IsDependencyPropertyUnsetValue())
            {
                actualTarget.ClearValue(actualProperty);
            }
            else
            {
                actualTarget.SetValue(actualProperty, ActualValue);
            }

            if (SustainDelay.HasTimeSpan == false)
            {
                RestoreValue();
            }
            else
            {
                DelayAction.StaticInvoke(RestoreValue, SustainDelay.TimeSpan);
            }
        }