在RadPane中心显示“MessageBox”

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在RadPane中心显示“MessageBox”相关的知识,希望对你有一定的参考价值。

我在使用Telerik控件构建的WPF应用程序中有几个RadPanes和RadPanGroup。

我想显示一个自定义窗口(一种消息框),它是特定RadPane的中心,不是整个窗口或父窗口或屏幕的中心。

我想根据激活的RadPane设置自定义窗口的顶部和左侧

答案

这可能是一个小解决方法,但this topic可能会帮助你。这个想法是,在发射事件时捕捉鼠标位置。您没有说明导致窗口打开的原因,我认为它是MouseDoubleClickEvent,所以这可能适合您。

另一个选项(尚未尝试过)是捕获事件中的发件人参数。触发事件后,您有发送者(在您的情况下是对象RadPane),它返回组件的VisualOffset(具有4个坐标)。然后您可以手动设置窗口位置,如下所示:

Window window = new Window();
window.Left = offsetTop - x;
window.Top = offsetLeft - y;

不幸的是,WindowStartupLocation属性允许您仅将其设置为CenterOwner(父窗口的中心),CenterScreen和Manual。好吧,手动声音真的很好,但它仍然需要你知道发送者(父母)的确切位置。

以上是关于在RadPane中心显示“MessageBox”的主要内容,如果未能解决你的问题,请参考以下文章

C++:如何将 MessageBox 居中?

asp.net 怎么把messagebox显示在页面之前

如何实现treeview的查找和显示

在WPF中MessageBox的显示如何定义其参数

MessageBox 隐藏不显示

在 MessageBox 中显示区域字符而不设置所需的语言环境