WPF - PreviewMouseLeftButtonDown 查找 e.OriginalSource 的可视拥有控件

本文关键字:可视 拥有 控件 OriginalSource PreviewMouseLeftButtonDown 查找 WPF | 更新日期: 2023-09-27 17:55:20

非常简单的问题。

我已经附加到 PreviewMouseLeftButtonDown 事件。 我知道这个事件隧道,所以可视化树中的第一项将被标记为e.OriginalSource。

例:

我有一个名为"MainGrid"的网格。 此网格包含一个标签。

如果我在该网格上设置了 PreviewMouseLeftButtonDown 事件并单击标签,则将触发 PreviewMouseLeftButtonDown 事件。

为此,MouseButtonEventArgs 包含一个 OriginalSource(e.OriginalSource)。 根据我在标签内单击的位置,这可能是一个边框......这可能是文本块,也可能是边框。

我想遍历可视化树并找到"主网格"。 我知道这样做的递归方法,但如果我不知道所有者的类型怎么办。 我只知道我想找到所有者(即这必须是通用的)。

类似于"e.OriginalSource.ORIGINAL_OWNER"的东西

如果不清楚,将很乐意详细说明。

谢谢

WPF - PreviewMouseLeftButtonDown 查找 e.OriginalSource 的可视拥有控件

听起来

你只是在寻找e.Source