2015-03-27 2 views
0

У меня есть «mainregion», реализованный с помощью Tab Control с несколькими вкладками. Атрибут ViewSortHint влияет на сортировку элементов табуляции при запуске, но это не то, что я хочу.Укажите, какой «вид» отображается в ItemsControl в Prism при запуске

При запуске я хочу прочитать из файла конфигурации и программно показать конкретную вкладку с места в карьер. Есть ли способ сделать это чисто в архитектуре Призма?

ответ

0

Вот что я сделал:

1.) У меня есть (моя собственная вещь) экземпляр IConfigProvider передается в Unity через DI в конструкторе моего IModule с (среди других, как IRegionManager, IUnityContainer). Этот configProvider - это просто словарь. Он содержит последнее имя представления, полученное при запуске (bootstrapper). В каждом из моих представлений, когда они активированы, они запускают событие pubsub, сообщая любому слушателю, который подписывается на это событие PubSub своим именем. В моем случае единственный прослушиватель сохраняет это в файле конфигурации.

2.) Во время IModule -> Initialize

container.RegisterType(typeof(Object), typeof(TheViewClass), typeof(TheViewClass).FullName); 

3.) Я проверить имя (конвенции) данного модуля против последнего имени вида в configProvider. Если есть матч. Я также позвоню:

RegionManager.RequestNavigate(RegionNames.MainRegion, typeof(TheViewClass).FullName); 

, чтобы перейти к нему !!!

Надеюсь, это поможет кому-то.

 Смежные вопросы

  • Нет связанных вопросов^_^