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 - 具有导航和可混合性的主/细节场景的主要内容,如果未能解决你的问题,请参考以下文章