Prism WPF: как открыть новое окно / диалог - PullRequest
0 голосов
/ 27 мая 2018

При использовании кода сзади код выглядит следующим образом:

AnotherWindow x = new AnotherWindow();
x.Show() ;
// or x.ShowDialog()

Но как мне добиться этого с помощью MVVM?Конкретно Призма?

Ответы [ 2 ]

0 голосов
/ 28 мая 2018

В Prism есть InteractionRequest для кратковременных диалогов.Если вы ищете долгоживущий диалог, например, второе окно приложения или оболочку, вы застряли с new Window ... Show.

Чтобы сделать вашу диалоговую службу дружественной к mvvm, вы должны спрятать ее за интерфейсоми сделать его как можно более общим.Использование сначала модели представления здесь устраняет необходимость указывать тип окна, поскольку вы можете предоставить окно по умолчанию, которое содержит только один большой ContentControl, и представление может быть отображено как DataTemplate.

0 голосов
/ 27 мая 2018

В случае, если вам нужно создать диалоговое окно для запроса ввода имени пользователя или диалоговое окно с прогрессом, MahApps.Metro может быть полезным набором инструментов, поскольку он предоставляет вам некоторые встроенные диалоговые интерфейсы / функциональные возможности с шаблоном MVVM.Для получения дополнительной информации посмотрите несколько примеров здесь: https://mahapps.com/controls/dialogs.html

...