StatusSwitchElement.cs 1.2 KB

123456789101112131415161718192021222324252627
  1. using System.Windows;
  2. using HandyControl.Data;
  3. namespace HandyControl.Controls;
  4. public class StatusSwitchElement
  5. {
  6. /// <summary>
  7. /// 选中时展示的元素
  8. /// </summary>
  9. public static readonly DependencyProperty CheckedElementProperty = DependencyProperty.RegisterAttached(
  10. "CheckedElement", typeof(object), typeof(StatusSwitchElement), new PropertyMetadata(default(object)));
  11. public static void SetCheckedElement(DependencyObject element, object value) => element.SetValue(CheckedElementProperty, value);
  12. public static object GetCheckedElement(DependencyObject element) => element.GetValue(CheckedElementProperty);
  13. /// <summary>
  14. /// 是否隐藏元素
  15. /// </summary>
  16. public static readonly DependencyProperty HideUncheckedElementProperty = DependencyProperty.RegisterAttached(
  17. "HideUncheckedElement", typeof(bool), typeof(StatusSwitchElement), new PropertyMetadata(ValueBoxes.FalseBox));
  18. public static void SetHideUncheckedElement(DependencyObject element, bool value) => element.SetValue(HideUncheckedElementProperty, ValueBoxes.BooleanBox(value));
  19. public static bool GetHideUncheckedElement(DependencyObject element) => (bool) element.GetValue(HideUncheckedElementProperty);
  20. }