【问题标题】:Some questions about Prism navigation in WPFWPF中关于Prism导航的一些问题
【发布时间】:2013-04-08 00:52:30
【问题描述】:

我认为如果您使用 IoC 容器将视图注册为“单例”,那么每次导航到它时都会重复使用相同的实例,而将视图注册为“瞬态”会在每次导航时创建一个新实例给它。除非我做错了什么,否则我发现 IoC 的“生活方式”没有任何区别,而 IRegionMemberLifetime.KeepAlive 属性决定了每次是否重复使用或重新创建视图。它是否正确? (我使用的是温莎城堡 IoC)。

当 Prism 文档谈到“停用”视图时,这仅仅是在导航视图时隐藏视图的过程吗?如果KeepAlive=False,此时视图是否会被释放?

嵌套视图/区域呢?如果一个视图包含一个内部有另一个视图的区域,并且我离开父视图,两个视图是否都会被停用/销毁(取决于KeepAlive 的值)? ClearChildViewsRegionBehavior 怎么样?这适用于什么地方?

【问题讨论】:

    标签: prism


    【解决方案1】:

    我不知道这是否适用于您的情况,但我实现了接口 INavigationAware。
    如果应该为每个导航重用视图,我总是从 IsNavigationTarget 方法返回 true。

    public bool IsNavigationTarget(NavigationContext navigationContext)
    {
        return true;
    }
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-04-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-21
    • 1970-01-01
    相关资源
    最近更新 更多