Призма, отображающая регион в вид - PullRequest
1 голос
/ 07 февраля 2012

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

RegionManager.Regions["LeftRegion"].Add(fundView);

Я чувствую себя довольно неловко с этим. Существует подобное обсуждение , но я думаю, что ответственность за определение такого отображения должна лежать на компоненте оболочки. Тем не менее, я не могу найти ни одного примера такого подхода, и я не уверен, является ли начальный загрузчик подходящим местом для размещения такого отображения.

Является ли этот подход совершенно неправильным?

1 Ответ

0 голосов
/ 07 февраля 2012

Нет ничего плохого. Но нет никакого смысла в том, чтобы shell / bootstrapper (который по своему замыслу ничего не знает о приложении, которое оно будет размещать) знает, какое представление входит в какой регион.

Рассмотрим приложение, которое можно расширить, просто добавив модули в заданную папку. Если вы придерживаетесь подхода, согласно которому модуль знает, где находятся его представления (отображение выполняется в Initialize()), это не проблема. Так я разработал свое первое приложение Prism.

Но если ваше отображение выполняется в вашей оболочке, вы всегда должны обновить свою оболочку (которая является частью базового приложения, а не какого-либо модуля), когда вы хотите добавить другой модуль. Это противоречит слабосвязанной парадигме. Кроме того, вы должны создать одно базовое приложение для каждого модуля созвездия. И есть (2 ^ количество модулей) перестановок, которые вы должны охватить. Это приводит к потере гибкости, достигнутой с помощью Prism.

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