确定 WPF 弹出窗口使用哪个 CustomPopupPlacement

2024-01-09

我试图找出传入的数组中的哪一个CustomPopupPlacement弹出窗口实际渲染时已使用位置。有什么事件可以检测到这一点吗?

2009 年的 msdn 线程似乎正是我的问题,但似乎没有答案。

http://social.msdn.microsoft.com/Forums/da/wpf/thread/4c6d216a-0011-4202-aa7e-2fccef3cc355 http://social.msdn.microsoft.com/Forums/da/wpf/thread/4c6d216a-0011-4202-aa7e-2fccef3cc355

标记的答案似乎无效,我的情况与线程中的OP完全相同。

我将让弹出窗口包含 4 个路径,并使用 DP 切换三个路径的可见性,以选择要渲染的正确箭头路径。

因此,我们通过以下方式提供了 4 个放置选项CustomPopupPlacementCallback代表,有没有办法检测系统在处理屏幕边缘情况和排序后最终选择的 4 个位置中的哪一个。


找到弹出窗口位置的更好方法。 此方法需要存在 Child 元素,但考虑到 Popup 元素附带的 Grid,这没有问题。

    UIElement container = VisualTreeHelper.GetParent(this) as UIElement;
    Point relativeLocation = this.Child.TranslatePoint(new Point(0, 0), container); //It HAS(!!!) to be this.Child

    if (relativeLocation.Y < 0) //or use X for left and right
    {
        Console.WriteLine("TOP PLACEMENT!");
    }
    else
    {
        Console.WriteLine("BOTTOM PLACEMENT!");
    }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

确定 WPF 弹出窗口使用哪个 CustomPopupPlacement 的相关文章

随机推荐