MVVM - 具有导航和可混合性的主/细节场景

Posted

技术标签:

【中文标题】MVVM - 具有导航和可混合性的主/细节场景【英文标题】:MVVM - Master/Detail scenario with Navigation and Blendability 【发布时间】:2010-05-14 15:24:00 【问题描述】:

我将从我想要的开始,这样可能更容易理解:

    我有一个页面 (Master.xaml),它有一个 PersonViewModel 列表框。 当用户从列表框中选择 PersonViewModel 时,我想导航到所选 PersonViewModel 的详细信息 (Details.xaml) 页面。 详细信息页面做了一些额外的繁重工作,我只想在用户导航到该页面后完成这些工作。 (我不想在主列表框的每个 PersonViewModel 中加载太多东西)

那么你们如何在保持“可混合性”的同时通过导航处理主/细节场景?

过去一周我一直在转圈。对于应该很常见的事情似乎没有干净的解决方案?

【问题讨论】:

【参考方案1】:

找到了一个我非常满意的解决方案。当 IsInDesignTool 为真时,我调用命令来伪造用户交互(例如:PlayCommand),因此当我看到设计区域处于混合状态时,就好像用户已经触发了命令。

public class ViewModelLocator

    public ViewModelLocator()
    
        if (DesignerProperties.IsInDesignTool)
        
            MainViewModel = new MainViewModel(new GameDataDummy());

            //Fake user interactions
            MainViewModel.PlayCommand.Execute(null);
        
        else
        
            MainViewModel = new MainViewModel(new GameData());
        
    

    public MainViewModel MainViewModel  get; private set; 


【讨论】:

以上是关于MVVM - 具有导航和可混合性的主/细节场景的主要内容,如果未能解决你的问题,请参考以下文章

主导细节与导航?

用于实现ReactUI.XamForms主细节页面的模式

Vue.js 和 MVVM 的小细节

Vue.js 和 MVVM 小细节

Vue.js 和 MVVM 小细节

Vue.js 和 MVVM 的小细节