TreeViewLineConverter .cs 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. using Muchinfo.MTPClient.Data;
  2. using System;
  3. using System.Windows.Controls;
  4. using System.Windows.Data;
  5. namespace Muchinfo.MTPClient.Converters
  6. {
  7. public class TreeViewLineConverter : IValueConverter
  8. {
  9. public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
  10. {
  11. try
  12. {
  13. var item = (TreeViewItem)value;
  14. ItemsControl ic = ItemsControl.ItemsControlFromItemContainer(item);
  15. return ic.ItemContainerGenerator.IndexFromContainer(item) == ic.Items.Count - 1;
  16. }
  17. catch
  18. {
  19. return null;
  20. }
  21. }
  22. public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
  23. {
  24. throw new Exception("The method or operation is not implemented.");
  25. }
  26. }
  27. public class NewTreeViewLineConverter : IValueConverter
  28. {
  29. public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
  30. {
  31. try
  32. {
  33. var item = value as TreeViewItem;
  34. if (item == null || item.Header == null) return false;
  35. var sysMenuItem = item.Header as SysMenuItem;
  36. if (sysMenuItem == null) return false;
  37. ////判断是否该项是否无父也无子
  38. if (!item.HasItems && sysMenuItem.ParentItem == null) return true;
  39. return false;
  40. }
  41. catch
  42. {
  43. return false;
  44. }
  45. }
  46. public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
  47. {
  48. return false;
  49. }
  50. }
  51. }