Призма: переход между снарядами?

Я хочу создать приложение с Silverlight и Prism, в котором пользователь может перемещаться следующим образом:

введите описание изображения здесь

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

Как лучше всего подойти к следующим вопросам:

  • AFAIK области в оболочке не меняются, но я не могу создавать разные макеты, которые я хочу, используя одни и те же регионы (например, после того, как модули уложены по горизонтали и один раз по вертикали). Будет ли здесь хорошим вариантом иметь несколько оболочек?

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

  • Навигация между оболочками кажется неправильной, но как еще я могу решить эту проблему?

Похоже, это обычный сценарий, но я не могу найти по нему информации. Большинство приложений, даже сложные (например, http://blogs.msdn.com/b/erwinvandervalk/archive/2009/03/02/how-to-build-an-outlook-style-application.aspx, http://www.codeproject.com/Articles/165370/Creating-View-Switching-Applications-with-Prism-4, StockTrader RI) использовать только одну оболочку с макетом, который никогда не меняется, но что, если макет должен измениться?


person Phasma    schedule 25.10.2012    source источник
comment
См. Эту ссылку stackoverflow.com/questions/5276984/   -  person Jeetendra.Sharma    schedule 26.10.2012


Ответы (1)


ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ: я программист WPF Prism, поэтому мой ответ может не работать для Silverlight.

Я бы не пошел по пути мульти-оболочки. Скорее у меня были бы регионы внутри регионов.

ПРИМЕЧАНИЕ. Прежде чем вы сможете создать это, вам нужно спросить, можете ли вы сделать свой контент таким образом, чтобы он мог быть как горизонтальным, так и вертикальным (например, привязка к Orientation и использование WrapPanels). Если вы можете, вы можете просто повторно использовать свои фактические области содержимого.

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

Например: после успешного входа в систему область входа в систему скрывается и отображается область StyleSelector (с кнопками A и B).

После нажатия одного из них область StyleSelector скрывается, и вы показываете либо область VerticalContentPresenter, либо область HorizontalContentPresenter.

Внутри каждой из областей xxxxxxxContentPresenter есть две области.

Как я сказал выше, в зависимости от того, каковы ваши элементы управления, вы можете повторно использовать одни и те же регионы внутри регионов xxxxxxContentPresenter (и, возможно, даже они будут в одном регионе).

person Vaccano    schedule 29.10.2012
comment
Я много искал скрытые области на призме, но не нашел. Если у вас есть образец кода, укажите его в этом ответе, это будет большим подспорьем. - person Jalpesh Vadgama; 29.11.2016