Подтвердить что ты не робот

Как установить расположение окна WPF?

У меня есть представление списка, в котором я определил пользовательскую ячейку в качестве пользовательского элемента управления.

В пользовательской ячейке я дал гиперссылку пользователя, я показываю диалог WPF, когда пользователь нажимает на гиперссылку.

Я хочу, чтобы диалог WPF находился чуть выше гиперссылки.

Пожалуйста, дайте мне знать, как я могу добиться этого или как установить расположение диалогового окна так, чтобы оно просто превысило гиперссылку.

4b9b3361

Ответ 1

Window.Left и Window.Top

var location = myTextBlock.PointToScreen(new Point(0,0));
window.Left = location.X;
window.Top = location.Y-window.Height;

Ответ 2

Вам нужно установить WindowStartupLocation в Manual (но это значение по умолчанию), а также установить Top и Left значения свойств.

Настройка CenterScreen заставляет окно располагаться в центре экрана, содержащем курсор мыши.

Настройка WindowStartupLocation на CenterOwner заставляет окно располагаться в центре его окна владельца (см. "Владелец" ), если это указано. Окно владельца может быть либо другим окном WPF, либо не WPF-окном.

Источник

Ответ 3

Вам нужно будет получить координаты гиперссылки, а затем установить положение окна, как показано здесь:

http://blog.fossmo.net/post/How-to-set-the-windows-position-in-WPF.aspx

Чтобы получить относительные/абсолютные позиции элементов, посмотрите здесь несколько советов:

http://ivolo.mit.edu/post/WPF-Mouse-and-Point-Acrobatics.aspx

Ответ 4

Если вы установите .Left окна больше, чем размер монитора (2000 работает для меня), окно переходит на второй монитор, и вы можете "максимизировать"