小编rdo*_*don的帖子

MVVM Light ViewModelLocator

我在我的应用程序中使用MVVM Light,在解决方案中有多个程序集.如何在每个程序集中都没有ViewModelLocator,而无需在App.xaml资源中定义?

通常,ViewModelLocator的定义如下:

<Application.Resources>
  <ResourceDictionary>
   <ResourceDictionary.MergedDictionaries>
     <ResourceDictionary Source="/Sol1;component/GlobalResources.xaml" />
   </ResourceDictionary.MergedDictionaries>
   <viewModels:ViewModelLocator xmlns:main="clr-namespace:MainModule.ViewModel;assembly=MainModule" x:Key="Locator" d:IsDataSource="True"/> 
</ResourceDictionary>
Run Code Online (Sandbox Code Playgroud)

我在我的解决方案中的类库中创建了一个Resources.xaml,如下所示:

<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
                xmlns:ModuleX="clr-namespace:ModuleX">
<ResourceDictionary.MergedDictionaries>
    <ResourceDictionary Source="/Common;component/CommonResources.xaml" />
</ResourceDictionary.MergedDictionaries>
<ModuleX:ViewMoldelLocator x:Key="ModuleXLocator" />
</ResourceDictionary>
Run Code Online (Sandbox Code Playgroud)

但是,找不到ModuleXLocator:

<phone:PhoneApplicationPage
       ...
       DataContext="{Binding Main, Source={StaticResource ModuleXLocator}}">
Run Code Online (Sandbox Code Playgroud)

xaml mvvm mvvm-light windows-phone-8

6
推荐指数
1
解决办法
3350
查看次数

标签 统计

mvvm ×1

mvvm-light ×1

windows-phone-8 ×1

xaml ×1