wpf 想获取鼠标下的元素名,因为一个容器内的元素太多了,想知道当前鼠标点的那一个好操作找了代码看不懂,请帮忙看一下啊

billly0808 2015-07-19 11:00:00
public static T FindVisualParent<T>(UIElement element) where T : UIElement
        {
            UIElement parent = element;
            while (parent != null)
            {
                var correctlyTyped = parent as T;
                if (correctlyTyped != null)
                {
                    return correctlyTyped;
                }

                parent = VisualTreeHelper.GetParent(parent) as UIElement;
            }

            return null;
        }

 

两者结合一下,我们的GetElementUnderMouse方法便可以如下书写:

        public static T GetElementUnderMouse<T>() where T: UIElement
        {
            return FindVisualParent<T>(Mouse.DirectlyOver as UIElement);
        }
...全文
326 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
billly0808 2015-07-21
  • 打赏
  • 举报
回复
有吗?我的控件是后台用代码添加上前台的,我想对鼠标经过边缘的时候可以拖动容器变大,我想获取鼠标经过的那个容器之后再操作。不知道这样写对不对?新手一个。
  • 打赏
  • 举报
回复
VisualTreeHelper 是自带的一个查询 逻辑树的方法。也就是编写的xaml 的层次结构。

1,979

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 其他语言讨论
社区管理员
  • 其他语言社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧