|
Как правильно работать с PRISM?
|
|||
---|---|---|---|
#18+
Добрый день! Пытаюсь познакомиться с Prism. Подскажите, правильно ли я делаю? :) Предполагается примерно такой функционал программы: 1. Показывается SplashScreen до тех пор, пока пользователь не щелкнет по экрану 2. После этого открывается главное меню (несколько кнопок) 3. По нажатию на кнопку открывается рабочее окно, в котором пользователь что-то вводит. 4. После нажатия на "Сохранить" у пользователя спрашивается "Да/Нет" 5. Если пользователь нажал "Да", то выполняется запись данных на диск и в это время на экране должна быть панелька поверх текущего окна с текстом "Выполняется операция" 6. Выполняется возврат в главное меню 7. По нажатию на "Выход" программа снова переходит к SplashScreen Что сделал: 1. Сделал модули "Starter", "Splash", "Menu", "Editor", "Waiting", "Confirm" 2. Создал классы для событий: "Начать работу" - публикуется "Starter"-ом при инициализации. Подписчик "Splash". Выполняет добавление View в Shell "Показать меню" - публикуется "Splash"-ом при щелчке мышью. Подписчики "Splash" и "Menu". "Splash" убирает себя из Shell, "Menu" - добавляет "Начало ожидания операции" - публикуется кем угодно (в моем случае обработчиком сохранения данных). Подписчик "Waiting". Выполняет внедрение View в Shell. "Окончание ожидания операции" - публикуется кем угодно (в моем случае обработчиком сохранения данных). Подписчик "Waiting". Выполняет удаление своего View из Shell. Есть еще несколько событий, но они по сути однотипны. По сути, все приложение меня получилось построено на событиях, обрабатываемых через EventAggregator. Насколько это вообще правильно? И пока не смог решить пару технических вопросов: 1. Модуль "Waiting" после внедрения своего View скрывает текущий активный модуль. Поэтому не получается сделать как бы затемнение фона и панель с текстом. Можно вообще внедрять View поверх других View? 2. Все модули после инициализации работают постоянно? Или их можно как-то останавливать, если они не используются в настоящее время с целью экономии ресурсов. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.07.2014, 18:13 |
|
Как правильно работать с PRISM?
|
|||
---|---|---|---|
#18+
Да... Перечитал свой вопрос и понял, что текста написал много :) Может кто знает как сделать это: Есть регион "WorkspaceRegion" В него загрузил модуль. View модуля успешно вывелось в регионе Мне надо добавить в регион еще один View из другого модуля (простую информационную строчку). Делаю так: Код: c# 1. 2. 3. 4. 5. 6. 7. 8.
Но это приводит к тому, что предыдущий View скрывается. После удаления нового View из региона старый View показывается снова. Можно вообще выводить несколько View в одном регионе? Или в нем выводится только одно активное всегда? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2014, 17:08 |
|
|
start [/forum/topic.php?fid=21&fpage=22&tid=1441075]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
59ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
48ms |
get tp. blocked users: |
1ms |
others: | 277ms |
total: | 423ms |
0 / 0 |