在我的 WPF 应用程序中,我使用 Telerik 控件构建了多个 RadPanes 和 RadPanGroups 。
我想显示一个自定义窗口(消息框的种类),它位于特定 RadPane 的中心,而不是整个窗口或父窗口或屏幕的中心。
我要根据激活的 RadPane
设置自定义窗口的顶部和左侧答案 0 :(得分:0)
这可能是一个小解决方法,但是this topic可能会为您提供帮助。这个想法是在触发事件的同时捕获鼠标的位置。您没有说是什么原因导致窗口打开,我假设它是MouseDoubleClickEvent,所以这可能适合您。
另一种方法(尚未尝试过)是捕获事件中的发件人参数。触发事件后,您将拥有发送方(在您的情况下为RadPane,这是对象),该发送方返回组件的VisualOffset(具有4个坐标)。然后,您可以按照以下步骤手动设置窗口位置:
Window window = new Window();
window.Left = offsetTop - x;
window.Top = offsetLeft - y;
不幸的是,WindowStartupLocation属性仅允许您将其设置为CenterOwner(父窗口的中心),CenterScreen和Manual。而且,手动听起来确实不错,但仍然需要您知道发件人(父母)的确切位置。