2015-10-19 3 views
1

Я не знаю, как я могу реализовать загрузчик в моем проекте.Bootstrapper in caliburn micro

В моем классе App я создаю новый поток, который запускает мой MainWindow, у которого нет _ViewModel.

Я знаю, что есть класс расширенного ускорителя, который предлагается, но я не применяю его в проекте wpf.

Кто-нибудь может мне помочь?

ответ

1

Я надеюсь, что это поможет вам:

Добавить ResourceDictionary в вашем App.xaml:

<Application.Resources> 
    <ResourceDictionary> 
     <ResourceDictionary.MergedDictionaries> 
      <ResourceDictionary> 
      <local:AppBootstrapper x:Key="Bootstrapper"/>     
      </ResourceDictionary> 
     </ResourceDictionary.MergedDictionaries> 
    </ResourceDictionary> 
</Application.Resources> 

Добавить новый класс "AppBootstrapper" с помощью Caliburn.Micro:

public class AppBootstrapper : BootstrapperBase 
    { 
      public AppBootstrapper() 
      { 
      this.StartRuntime(); 
      } 

     protected override void OnStartup(object sender,System.Windows.StartupEventArgs e) 
     { 
     this.DisplayRootViewFor(typeof(MainViewModel),null); 
     } 
    } 

В "this.DisplayRootViewFor (typeof (" ")" добавить имя вашей модели просмотра

+0

Спасибо за помощь, я пытаюсь интегрировать e этот класс для моего проекта + x-ключ в моем файле app.xaml, но кажется, что AppBootstrapper никогда не вызывается. Нужно ли мне запускать этот класс из моего файла app.cs? –

+0

Нет, вам не нужно заставлять класс в приложении app.cs. Есть ли строка StartupUri = "" в вашем App.xaml? если да, удалите их. И правильно ли вы добавили локальное: -namespace? .. поэтому вместо StartupUri = "" должно быть xmlns: local: = "" с вашим пространством имен. –

+0

все в порядке, у меня есть только ошибка при построении: «элемент с тем же ключом уже добавлен» в строке «» ... –