首页 > 其他 > 详细

通过鼠标事件,从鼠标点击的坐标寻找指定的控件

时间:2018-07-19 13:09:05      阅读:248      评论:0      收藏:0      [点我收藏+]
技术分享图片
 1 /// <summary>
 2         /// 图片鼠标右键
 3         /// </summary>
 4         /// <param name="sender"></param>
 5         /// <param name="e"></param>
 6         private void Image_slt_MouseRightButtonUp(object sender, MouseButtonEventArgs e)
 7         {
 8             Point point = e.GetPosition(tree);
 9             HitTestResult result = VisualTreeHelper.HitTest(tree, point);
10             if (result == null)
11                 return;
12             ListBoxItem item = Utils.FindVisualParent<ListBoxItem>(result.VisualHit);
13             if (item == null)
14                 return;
15             var vm_item = item.DataContext as ImageTreeControlImageModel;
16             if (vm_item == null)
17                 return;
18             ContextMenu menu = new ContextMenu();
19             MenuItem mitem = new MenuItem();
20             mitem.Tag = vm_item;
21             mitem.Click += mItem_Click;
22             mitem.Header = "删除";
23             menu.Items.Add(mitem);
24             menu.IsOpen = true;
25         }
View Code
技术分享图片
 1 internal static class Utils
 2     {
 3         public static T FindVisualParent<T>(DependencyObject obj) where T : class
 4         {
 5             while (obj != null)
 6             {
 7                 if (obj is T)
 8                     return obj as T;
 9 
10                 obj = VisualTreeHelper.GetParent(obj);
11             }
12 
13             return null;
14         }
15     }
View Code

 

通过鼠标事件,从鼠标点击的坐标寻找指定的控件

原文:https://www.cnblogs.com/xuling-297769461/p/9334903.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!