private static void OnTiltIsEnabledChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) { if (d is FrameworkElement element) { var oldEffect = (TiltEffect2D)d.GetValue(TiltEffectProperty); if (e.OldValue is true) { oldEffect.Disable(); d.ClearValue(TiltEffectProperty); } if (e.NewValue is true) { var newEffect = new TiltEffect2D(); d.SetValue(TiltEffectProperty, newEffect); newEffect.Enable(element); } } }
/// <summary> /// 设置倾斜效果,设置此属性为非 null 会自动打开此元素的倾斜效果。 /// </summary> /// <param name="element">要设置倾斜效果的元素。</param> /// <param name="value">设置的倾斜效果。</param> public static void SetTiltEffect(DependencyObject element, TiltEffect2D value) { element.SetValue(TiltEffectProperty, value); }