Вставить вид в контейнер MVVM WPF - PullRequest
1 голос
/ 18 августа 2010

Это причиняет мне боль в течение некоторого времени.

Я знаю, что Призма внедряет взгляды в регионы, но есть ли способ сделать подобное с Cinch, в первую очередь? Например, у меня есть контейнер (фактически регион), который может содержать любое представление во время выполнения - я не особо хочу явно устанавливать представление в XAML, так как это загрузит его, и это немного грязно. Есть ли контейнер, который я могу использовать для этого? И как бы я пошел по этому поводу? (не обязательно зависит от Cinch ..)

спасибо.

1 Ответ

1 голос
/ 18 января 2011

Чтобы ответить на мой собственный вопрос, я обнаружил, что Prism v4 предоставил полезное решение - RegionExtension под названием RequestNavigate.

Я использовал RequestNavigate для открытия нового окна (см. StockTrader RI), однако это кажется чрезвычайно громоздким, если следовать правильной методологии MVVM. Вместо этого я решил использовать класс ChildWindow в WPF Extended Toolkit, где вы можете просто привязать свойство WindowState (открытое / закрытое) и указать все остальное в XAML.

Я также использовал RequestNavigate для внедрения представлений в Регионы - сейчас я использую MEF (в то время, когда я использовал Unity). Я нахожу подход более гибким, хотя и немного «волшебным» в отношении отладки.

...