Показать 'MessageBox' в центре RadPane - PullRequest
0 голосов
/ 29 августа 2018

У меня есть несколько RadPanes и RadPanGroups в моем WPF приложении, построенном с использованием Telerik элементов управления.

Я хочу показать пользовательское окно (вид окна сообщения), которое является центром определенного RadPane , а не центром всего окна или родительского окна или экрана.

Я хочу установить Верх и Слева из Пользовательское окно в соответствии с активированным RadPane

1 Ответ

0 голосов
/ 06 сентября 2018

Это может быть небольшой обходной путь, но эта тема может помочь вам. Идея состоит в том, чтобы захватить положение мыши во время запуска события. Вы не сказали, что заставляет ваше окно открываться, я предполагаю, что это MouseDoubleClickEvent, так что это может вас устроить.

Другой вариант (еще не пробовал) - захватить параметры sender внутри вашего события. После запуска события у вас есть отправитель (который является объектом, в вашем случае RadPane), который возвращает VisualOffset компонента (который имеет 4 координаты). Затем вы можете вручную установить положение окна следующим образом:

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

К сожалению, свойство WindowStartupLocation позволяет установить его только для CenterOwner (центр родительского окна), CenterScreen и Manual. И, конечно же, руководство звучит очень хорошо, но все равно требует, чтобы вы знали точную позицию отправителя (родителя).

...