TreeItemRightClickBehavior.cs 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. 
  2. ///////////////////////////////////////////////////////////////////////////////
  3. //Copyright (c) 2016, 北京探索者软件公司
  4. //All rights reserved.
  5. //文件名称: TreeItemRightClickBehavior.cs
  6. //文件描述: 树形条目Behavior
  7. //创 建 者: xls
  8. //创建日期: 2017-12-17
  9. //版 本 号:1.0.0.0
  10. ////////////////////////////////////////////////////////////////////////////////
  11. using System;
  12. using System.Collections.Generic;
  13. using System.Linq;
  14. using System.Text;
  15. using System.Windows;
  16. using System.Windows.Controls;
  17. using System.Windows.Interactivity;
  18. namespace FWindSoft.Wpf.Behaviors
  19. {
  20. public class TreeItemRightClickBehavior:Behavior<UIElement>
  21. {
  22. protected override void OnAttached()
  23. {
  24. base.OnAttached();
  25. this.AssociatedObject.PreviewMouseRightButtonDown += AssociatedObject_PreviewMouseRightButtonDown;
  26. }
  27. protected override void OnDetaching()
  28. {
  29. base.OnDetaching();
  30. this.AssociatedObject.PreviewMouseRightButtonDown -= AssociatedObject_PreviewMouseRightButtonDown;
  31. }
  32. void AssociatedObject_PreviewMouseRightButtonDown(object sender, System.Windows.Input.MouseButtonEventArgs e)
  33. {
  34. UIElement uiel = e.OriginalSource as UIElement;
  35. if (uiel == null)
  36. return;
  37. var treeViewItem = uiel.GetParentType<TreeViewItem>();
  38. if (treeViewItem != null)
  39. {
  40. treeViewItem.IsSelected = true;
  41. }
  42. }
  43. }
  44. }