首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Exrin分离物与MasterDetailContainer

Exrin分离物与MasterDetailContainer
EN

Stack Overflow用户
提问于 2017-11-11 22:32:45
回答 1查看 17关注 0票数 1

在使用Exrin隔离方法时,您可以在每个隔离器中定义堆栈。如何将其与MasterDetailContainer结合使用?例如,如果我想要一个旧方法中的菜单,我会创建一个ViewContainer,并为菜单传递一个堆栈,为页面传递另一个堆栈,但是对于隔离,我会有很多堆栈。我应该如何构建ViewContainer,或者我应该仍然只有一个主堆栈,并且只使用这些隔离来隔离视图和视图模型?

代码语言:javascript
复制
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;
            }
        }
    } 
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-11-12 00:04:56

如果您需要混合堆栈,您将放置在隔离,那么这将是一个好主意,定义您的所有堆栈和键在一个单一的位置。

但是,请记住,隔离是为将大量代码块分成不同的模块而设计的。我只建议在任何给定的项目中最多有3个隔离。使用特征分组是在项目中构造视图/视图模型的一种很好的方式,如果您有一个大型项目,但不足以满足隔离的需要。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47243491

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档