2017-11-11 9 views
1

Exrin Isolatesアプローチを使用する場合は、各Isolaterでスタックを定義します。どのように組み合わせてMasterDetailContainerと連携させますか? たとえば、古いアプローチでメニューを作成したい場合は、ViewContainerを作成してメニュー用のスタックとページ用のスタックを渡しますが、分離されている場合はスタックがたくさんあります。 ViewContainerをビルドするにはどうすればよいですか?またはメインスタックを1つしか持たず、Isolatesを使用してビューとビューモデルを分離する必要がありますか?あなたが分離株に配置すること、スタックをブレンドする必要がある場合はExrin IsolatesとMasterDetailContainer

public class MainViewContainer : Exrin.Framework.ViewContainer, IMasterDetailContainer 
    { 
     private readonly MasterDetailPage r_MasterPage; 

     public MainViewContainer(MenuStack i_MenuStack, MainStack i_MainStack) 
      : base(eContainer.Main.ToString()) 
     { 
      r_MasterPage = new MasterDetailPage(); 
      MasterDetailProxy masterProxy = new MasterDetailProxy(r_MasterPage); 
      NativeView = masterProxy.View; 
      Proxy = masterProxy; 
      DetailStack = i_MainStack; 
      MasterStack = i_MenuStack; 
      RegionMapping.Add(eRegions.Menu, ContainerType.Master); 
      RegionMapping.Add(eRegions.Main, ContainerType.Detail); 
     } 

     public IHolder MasterStack { get; set; } 

     public IHolder DetailStack { get; set; } 

     public IMasterDetailProxy Proxy { get; set; } 

     public bool IsPresented 
     { 
      get 
      { 
       return r_MasterPage.IsPresented; 
      } 

      set 
      { 
       r_MasterPage.IsPresented = value; 
      } 
     } 

     public void SetStack(ContainerType i_ContainerType, object i_Page) 
     { 
      switch (i_ContainerType) 
      { 
       case ContainerType.Detail: 
        r_MasterPage.Detail = i_Page as Page; 
        break; 
       case ContainerType.Master: 
        r_MasterPage.Master = i_Page as Page; 
        break; 
      } 
     } 
    } 

答えて

0

は、単一の場所にすべてのあなたのスタックとキーを定義するのは良い考えでしょう。

ただし、大量のコードを別々のモジュールに分割するように設計されていることに注意してください。私は、任意のプロジェクトに対して最大3つの分離株を推奨します。 Feature Groupingを使用すると、大きなプロジェクトがあり、隔離のために十分な大きさではない場合は、プロジェクトのViews/ViewModelsを構造化するための良い方法です。

関連する問題