TreeViewItemMarginConverter.cs 890 B

123456789101112131415161718192021222324252627
  1. using System;
  2. using System.Windows;
  3. using System.Windows.Controls;
  4. using System.Windows.Data;
  5. using System.Windows.Media;
  6. namespace HandyControl.Tools.Converter;
  7. public class TreeViewItemMarginConverter : IValueConverter
  8. {
  9. public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
  10. {
  11. var left = 0.0;
  12. UIElement element = value as TreeViewItem;
  13. while (element != null && element.GetType() != typeof(TreeView))
  14. {
  15. element = (UIElement) VisualTreeHelper.GetParent(element);
  16. if (element is TreeViewItem)
  17. left += 19.0;
  18. }
  19. return new Thickness(left, 0, 0, 0);
  20. }
  21. public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
  22. {
  23. throw new NotSupportedException();
  24. }
  25. }