private static void EnableStateTriggersChanged(DependencyObject obj, DependencyPropertyChangedEventArgs e) { var element = obj as FrameworkElement; if (element == null) { throw new NotSupportedException("EnableStateTriggers can only be applied on elements of type System.Windows.FrameworkElement"); } if ((bool)e.NewValue) { VisualStateManagerHook.Set(element); } else { VisualStateManagerHook.UnSet(element); } }
internal static void Set(FrameworkElement element) { var hook = new VisualStateManagerHook(element); element.SetValue(VisualStateManagerHookProperty, hook); }