2010-05-14 2 views
1

Начну с того, что я хочу, так что может быть проще понять:MVVM - Master/Detail сценарий с навигацией и смешиваемости

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

Так как же вы, ребята, справляетесь с основными сценариями с детализацией при навигации, сохраняя при этом «совместимость»?

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

ответ

0

Нашли решение, которым я очень доволен. Когда IsInDesignTool имеет значение true, я вызываю команды для поддельных пользовательских взаимодействий (Ex: PlayCommand), поэтому, когда я вижу область Design в blend, это похоже на то, что пользователь уже произвел эту команду.

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; } 

} 

 Смежные вопросы

  • Нет связанных вопросов^_^