IconElement.cs 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. using System.Windows;
  2. using System.Windows.Media;
  3. namespace CyberX8_UI.Themes.Attach
  4. {
  5. public class IconElement
  6. {
  7. public static readonly DependencyProperty PathDataProperty = DependencyProperty.RegisterAttached(
  8. "PathData", typeof(Geometry), typeof(IconElement), new PropertyMetadata(default(Geometry)));
  9. public static void SetPathData(DependencyObject element, Geometry value)
  10. => element.SetValue(PathDataProperty, value);
  11. public static Geometry GetPathData(DependencyObject element)
  12. => (Geometry) element.GetValue(PathDataProperty);
  13. public static readonly DependencyProperty SelectedPathDataProperty = DependencyProperty.RegisterAttached(
  14. "SelectedPathData", typeof(Geometry), typeof(IconElement), new PropertyMetadata(default(Geometry)));
  15. public static void SetSelectedPathData(DependencyObject element, Geometry value)
  16. => element.SetValue(SelectedPathDataProperty, value);
  17. public static Geometry GetSelectedPathData(DependencyObject element)
  18. => (Geometry) element.GetValue(SelectedPathDataProperty);
  19. public static readonly DependencyProperty WidthProperty = DependencyProperty.RegisterAttached(
  20. "Width", typeof(double), typeof(IconElement), new PropertyMetadata(double.NaN));
  21. public static void SetWidth(DependencyObject element, double value)
  22. => element.SetValue(WidthProperty, value);
  23. public static double GetWidth(DependencyObject element)
  24. => (double) element.GetValue(WidthProperty);
  25. public static readonly DependencyProperty MarginProperty = DependencyProperty.RegisterAttached(
  26. "Margin", typeof(Thickness), typeof(IconElement));
  27. public static void SetMargin(DependencyObject element, Thickness value)
  28. => element.SetValue(MarginProperty, value);
  29. public static Thickness GetMargin(DependencyObject element)
  30. => (Thickness) element.GetValue(MarginProperty);
  31. }
  32. }