Как сделать собственное модальное всплывающее окно в WPF и вернуть ему значение? - PullRequest
1 голос
/ 17 декабря 2011

Я делаю удар по WPF и пытаюсь учиться на ходу. Буду признателен за любой предложенный совет.

У меня есть окно, к которому прикреплена страница (через рамку на окне). Когда вы нажимаете кнопку на странице, я хочу, чтобы всплыло пользовательское окно для представления нескольких пользовательских опций и отображалось способом, выбранным мной (я думаю, что сейчас я хочу, чтобы это была сетка, но она может измениться как Я продолжаю). При выборе модальное окно исчезнет и вернет вызывающему методу (нажатие кнопки со страницы) значение выбранного варианта.

Мне не нужно стандартное диалоговое окно Windows с опциями да, нет, ладно, отмена или что-то в этом роде. Это действительно просто пользовательское всплывающее окно, которое возвращает значение вызывающей стороне, когда пользователь делает выбор во всплывающем окне.

1 Ответ

2 голосов
/ 17 декабря 2011

Создайте новый Window подкласс, который вы можете расположить так, как вам нравится.Затем в обработчике событий нажатия кнопки, отобразите его модально, используя myModalWindow.ShowDialog();.После этого вы можете иметь свойство в классе окна, к которому вы можете обращаться после его закрытия, чтобы получить доступ к данным результата, например:

myModalWindow.ShowDialog();
var data = myModalWindow.SomeResultProperty;

Если вы действительно хотите получить что-то из метода, я полагаю, выможет создать свой собственный публичный метод в вашем классе окна, который внутренне вызывает ShowDialog(), а затем возвращает значение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...