2017-01-16 13 views
0

Xamarin Formsアプリケーションでは、MvvmCrossがビューを探すことができる別のViewアセンブリ(デフォルトのものよりも)を提供したいと思います。MvvmCrossに追加のViewアセンブリを提供

mvx:Diagnostic: 10.46 Setup: Secondary end 
mvx:Diagnostic: 10.51 Showing ViewModel MovementViewModel 
Exception thrown: 'System.Collections.Generic.KeyNotFoundException' in MvvmCross.Core.dll 
mvx:Diagnostic: 10.82 Page not found for MovementPage 
mvx:Error: 10.84 Skipping request for MovementViewModel 
Exception thrown: 'System.ArgumentNullException' in Xamarin.Forms.Platform.UAP.dll 
Exception thrown: 'System.ArgumentNullException' in MovementTimer.UWP.exe 

この:ビューを見つけることができないが、

protected override IEnumerable<Assembly> GetViewAssemblies() 
    { 
     var viewAssemblies = new List<Assembly>(); 
     viewAssemblies.AddRange(base.GetViewAssemblies()); 
     viewAssemblies.Add(typeof(MovementPage).GetTypeInfo().Assembly); 

     return viewAssemblies; 
    } 

をしかし、アプリは文句:

UWPのセットアップクラスでMvvmCross Wikiを、以下の後、私override GetViewAssemblies()は、追加のアセンブリを追加しますページが既定のアセンブリ(ViewModels、App.csを含むアセンブリ)に存在する場合は、Pageが表示されます。

ここでは何ができますか?

+0

私がやっている、別のアセンブリ内のビュー&ビジネスロジックを置くように。 – Anil

答えて

0

InitializeViewLookup()作品のオーバーライドが、それは面倒だ:(

protected override void InitializeViewLookup() 
{ 
    var viewsLookup = new Dictionary<Type, Type> 
    { 
     [typeof(MovementViewModel)] = typeof(MovementPage) 
    }; 

    var container = Mvx.Resolve<IMvxViewsContainer>(); 
    container.AddAll(viewsLookup); 
} 
関連する問題