Призма, Регионы, Волшебные струны и рефакторинг: я что-то здесь упускаю?

Чтобы создать представление составного приложения в моем приложении с разными регионами, до сих пор я всегда использовал Content Presenter и использовал DataBinding для настройки его содержимого.

Если бы я хотел изменить его содержимое, мне просто нужно использовать агрегатор событий, опубликоватьViewZoneChangedEventподпишитесь на него в окне «shell» и обновите viewmodel соответствующим образом, чтобы новые данные были доступны для привязки и пользовательский интерфейс был обновлен.

Теперь, я недавно сталкивался с этими Областями в Призме, фактически я видел их некоторое время, но я не чувствовал себя комфортно с ними, но, поскольку Призма - это своего рода «руководство по наилучшим практикам», возможно, я что-то упускаю: позвольте мне объяснить почему я чувствую себя некомфортно

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

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

Итак, мой вопрос заключается в следующем: что области призмы приносят в таблицу по сравнению с простой старой привязкой (плюс eventAggregator, если вы хотите общаться через ViewModels)?

и верны ли мои предположения о проверке имен регионов во время компиляции?

Ответы на вопрос(3)

Ваш ответ на вопрос