If you are using WPF you can use an Animation, which will take care of restoring the original value when the animation ends (provided you configure it correctly). Otherwise you could create a disposable helper class that can animate a property value, including storing the original value and restoring it at the end.