MVVM - сценарий Master / Detail с навигацией и смешиваемостью - PullRequest
1 голос
/ 14 мая 2010

Я начну с того, что хочу, чтобы было проще понять:

  1. У меня есть страница (Master.xaml) со списком PersonViewModel.
  2. Когда пользователь выбирает PersonViewModel из списка, я хочу перейти на страницу подробностей (Details.xaml) выбранного PersonViewModel.
  3. Страница сведений выполняет некоторые дополнительные действия, которые я хочу выполнять только после перехода пользователя на страницу. (Я не хочу загружать слишком много вещей в каждую PersonViewModel главного списка)

Итак, как вы, ребята, справляетесь со сценариями мастер / детали с помощью навигации, сохраняя «смешиваемость»?

Я был в кругах на прошлой неделе. кажется, не существует чистого решения для чего-то, что должно быть довольно распространенным?

1 Ответ

0 голосов
/ 15 мая 2010

Нашел решение, которым я очень доволен. Когда IsInDesignTool имеет значение true, я вызываю команды для имитации взаимодействия с пользователем (например, 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; }

}
...