如何判断是否已显示ViewModel?

时间:2014-08-15 14:15:09

标签: mvvmcross

我有一个显示视图模型的命令:

private void DoShowImportCommand()
{
    this.ShowViewModel<GeometryImportViewModel>();
}

但是我只想在没有显示该视图模型的情况下执行它。有办法吗? 检测该视图模型是否已经在屏幕上,如果是,则不执行命令?

1 个答案:

答案 0 :(得分:1)

默认情况下,MvvmCross没有跟踪此内容 - 当前显示的内容取决于UI,可以在不同情况下以不同方式解释(弹出窗口,制表符,枢轴,对话框,后台等)

如果您想在自己的应用程序中跟踪此内容,可以使用UI项目组件(例如自定义演示者)进行跟踪,也可以使用共享代码组件进行跟踪 - 例如你可以添加&#34; alive&#34;跟踪到Views / ViewModels(参见http://mvvmcross.blogspot.com上的N = 42视频),然后可以使用一些服务来跟踪显示哪些视图模型。