Создание всплывающего окна WPF - PullRequest
4 голосов
/ 30 мая 2011

Я хочу создать модальное всплывающее окно.До сих пор я сделал окно, которое я создаю, когда мне это нужно.Но я не думаю, что это правильный способ сделать это.Проблема в том, что каждый раз, когда я это называю, он открывается примерно на 20 пикселей вправо и на 20 пикселей ниже, чем предыдущий.Это раздражает.Это поведение по умолчанию или я что-то здесь не так делаю?

Success win1 = new Success();
win1.ShowDialog();

Кроме того, я хочу, чтобы это было по центру, если это возможно?

Ответы [ 2 ]

9 голосов
/ 30 мая 2011

Ниже центрирует ваше диалоговое окно по форме владельца / родителя.

Success win1 = new Success();
win1.Owner = this; // For example , see the parent window here
win1.WindowStartupLocation = WindowStartupLocation.CenterOwner;
win1.ShowDialog();

Ниже приведены альтернативы, если вы хотите попробовать. Если вы хотите центрировать его на экране, используйте «CenterScreen»

Вручную - местоположение запуска окна задается из кода или относится к местоположению Windows по умолчанию.

CenterScreen - место запуска окна является центром экрана, в котором находится курсор мыши.

CenterOwner - место запуска окна - это центр окна, которому он принадлежит, как указано в свойстве Window.Owner.

4 голосов
/ 30 мая 2011

Вы хотите установить WindowStartupLocation элемент окна «Успех». Похоже, что CenterOwner - это то значение, которое вы хотите.

...