【问题标题】:Are there good patterns for disposing view models when navigating back to a view?导航回视图时是否有很好的模式来处理视图模型?
【发布时间】:2011-12-12 00:01:06
【问题描述】:

在适用于 Windows Phone 的 Silverlight 中,我有几个视图模型是一次性的并执行必要的清理,例如在 Dispose() 中取消订阅长期服务的事件。

当我在视图堆栈中导航回来并且最新的视图模型完成了它的任务时,我需要调用它的 Dispose()。

有哪些以结构化方式执行此操作的好模式?

【问题讨论】:

    标签: c# silverlight mvvm dispose


    【解决方案1】:

    您可以创建一个侦听Unloaded event 的混合行为或附加属性,然后在对象的DataContext 上调用Dispose()(如果它是IDisposable)。然后可以根据需要将其附加到您的视图中。

    【讨论】:

    • 听起来很有用,但我在其他地方还没有真正看到过。这是你自己尝试过的吗?
    • @JohannGerell 是的,我现在实际上正在我的一个项目中这样做。它工作正常。我需要它来强制对某些 ViewModel 进行保存/关闭调用,而且效果很好。
    猜你喜欢
    • 2015-04-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-23
    相关资源
    最近更新 更多