2013-08-17 2 views
3

Я создаю приложение WPF, которое первоначально загружается как значок панели задач, а затем при нажатии открывается соответствующее окно. Это был прототип, и я хочу перейти к Призме и посмотрев (превосходные) видео Майка Таути (channel9.msdn.com/niners/mtaulty). У меня такое ощущение, что мне нужно сделать приложение с пользовательский загрузчик, который выполняет всю регистрацию службы, но не создает исходную оболочку, а просто загружает модули и, возможно, идентифицирует модуль для запуска. Кто-нибудь кто-нибудь сделал что-то подобное, если да, то на сколько работы я нахожусь?Призматическое приложение без начальной оболочки

+0

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

+0

Гарри, причина в том, что приложение действительно не имеет окна как такового. Кроме того, мне действительно не нравится идея фальсификации оболочки emtpy, потому что мой следующий вопрос заключается в том, как заставить менеджера регионов работать с новым окном (на этот вопрос был дан ответ в другом месте), а затем как мне получить модули для регистрации с новым менеджером региона? Поэтому я все еще остаюсь с некоторыми работами по настройке в загрузочном блоке, который я подозреваю. – naskew

ответ

2

OK Я укусил пулю и попробовал. Я должен сначала указать, что я использовал версию Bootstrapper Autofac.

  • Я вернулся к нулю CreateShell
  • Я отметил приложение ShutdownMode = «OnExplicitShutdown» в декларации в верхней части app.xaml (важно в противном случае она закрывает приложение при закрытии последнего окна)
  • Я создал модуль (полученный IModule), который загрузил значок уведомления WPF от Philipp Summi (http://www.codeproject.com/Articles/36468/WPF-NotifyIcon)
  • В ответ на команду из контекстного меню этого значка я просто создаю окно и его модель просмотра и покажу его.

Все это работает так, как я надеялся. Единственное, что мне еще предстоит сделать, это посмотреть, как использовать регионы с этими временными окнами, хотя другие статьи, похоже, охвачены этим. Я не уверен, что автозапуск Autofac дает мне какие-то большие преимущества, но я разработал очень ранний прототип с использованием Autofac и застрял с ним, потому что он прошел гладко. Я, вероятно, поеду с Unity или MEF в конечном итоге, чтобы избежать проблем с совместимостью и позволить динамическую загрузку модуля из внешних плагинов.

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