2013-09-26 2 views
0

У меня есть проект, в котором у меня есть два экземпляра ViewModelLocator, каждый в разных сборках. Когда я пытаюсь запустить свое приложение, это дает мне ошибку в самом начале:не может создать экземпляр viewmodellocator в C# mvvm light

Невозможно создать экземпляр ViewModelLocator в первой сборке.

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

Может кто-нибудь руководство по ли:

  • я могу иметь два ViewModelLocators в виде LOC; и
  • Каков правильный способ сделать это?

Как у моего руководства, так и на совместном пилотном проекте есть ViewModelLocators. Вот мой код:

xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
    xmlns:ignore="http://www.ignore.com" 
    mc:Ignorable="d ignore" 
    xmlns:vm="using:Copilot.ViewModel"> 
    xmlns:vm="using:Navigator.Guide.ViewModel"> 

    <Application.Resources> 
     <ResourceDictionary> 
      <!--Global View Model Locator--> 
      <vm:ViewModelLocator x:Key="Locator" 
           d:IsDataSource="True" /> 


     </ResourceDictionary> 
    </Application.Resources> 
</Application> 
+0

Это не будет даже компиляции. У вас есть повторяющиеся определения пространства имен. – Will

+0

Да, и я тоже регистрирую его дважды. – user2817553

ответ

1

Я отвечаю на это просто так, чтобы кому-то, работающему в той же проблеме, помогли.

Если вы добавляете mvvmlight 5.3.0 из NuGet, идти вперед, а также добавить ModernUI.wpf версию 1.0.9 и ваш App.xaml потребуются ресурсы, как в следующем,

<Application.Resources> 
    <ResourceDictionary> 
      <ResourceDictionary.MergedDictionaries> 
       <ResourceDictionary Source="/FirstFloor.ModernUI;component/Assets/ModernUI.xaml" /> 
       <ResourceDictionary Source="/FirstFloor.ModernUI;component/Assets/ModernUI.Light.xaml" /> 
      </ResourceDictionary.MergedDictionaries> 
      <vm:ViewModelLocator x:Key="Locator" d:IsDataSource="True" xmlns:vm="clr-namespace:myApp.ViewModel" /> 
    </ResourceDictionary> 
    </Application.Resources> 
Смежные вопросы