我有一个主题列表,每个主题都有一些示例。我希望能够做的是,当选择一个主题时,我将使用该选定主题的所有示例填充另一个视图。我仍然在学习MVVM,所以不知道如何实现这样的。MVVM:当从另一个视图(带有列表框)中选择一个项目时,填充一个视图(带有列表框)
编辑: 我试图做的是有两个单独的视图(1为主题,1为例子),当一个主题被选中时,我会'动态'填充示例的集合并在示例视图的列表框中显示它们。
这是我到目前为止,我的想法是通过视图模型实例到TopicViewModel什么,但我不确定如何做到这一点,如果这两种观点都在主窗口的XAML设置:
public TopicViewModel SelectedTopic
{
get { return _selectedTopic; }
set
{
_selectedTopic = value;
OnPropertyChanged("SelectedTopic");
//refresh list of exercises
if (_exampleViewModel != null)
{
_exampleViewModel.RefreshExercises(_selectedTopic.ID);
}
}
}
好吧,试图破译你的例子,并将其应用于我的案例。我不能将ExampleViewModel传递给ExampleView,它应该反映在列表框中? – 2013-05-14 09:04:08
@RodelioMartinezRodriguez我以为你想在列表框中显示一个* Collection *的ExampleViewModels?我猜你可以在另一个视图上将SelectedItem(类型为Topic)设置为DataContext,然后将ListBox的ItemsSource设置为{绑定示例} – Botz3000 2013-05-14 09:06:47
在我的ExamplesViewModel中,已经有一个ObservableCollection的Examples模型可以绑定到列表框。每个ExampleView只有一个ExamplesViewModel。 – 2013-05-14 09:19:18