1

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

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

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

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

4

1 回答 1

0

找到了一个我很满意的解决方案。当 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; }

}
于 2010-05-15T14:25:31.247 回答