У меня есть список тем, и для каждой темы есть несколько примеров. То, что я хочу сделать, это то, что при выборе темы, я буду заполнять другое представление всеми примерами для выбранной темы. Я все еще изучаю MVVM, поэтому не знаю, как это реализовать.MVVM: заполнить представление (со списком), когда выбран элемент из другого представления (со списком)
EDIT: То, что я пытаюсь сделать, состоит в том, чтобы иметь два отдельных вида (1 для тем и 1 для примеров), а когда выбрана тема, я буду «динамически» заполнять коллекцию примеров и показать их в списке видимости примеров.
Это то, что я до сих пор, моя идея состоит в том, чтобы передать ViewModel примера на TopicViewModel, но я не уверен, как это сделать, если оба вида устанавливаются в XAML главного окна:
public TopicViewModel SelectedTopic
{
get { return _selectedTopic; }
set
{
_selectedTopic = value;
OnPropertyChanged("SelectedTopic");
//refresh list of exercises
if (_exampleViewModel != null)
{
_exampleViewModel.RefreshExercises(_selectedTopic.ID);
}
}
}
Ok, пытаясь расшифровать ваши пример и примените его в моем случае. Могу ли я не передать ExampleViewModel в ExampleView вместо этого, и он должен быть отражен в списке? –
@RodelioMartinezRodriguez Я думал, что вы хотите отобразить * Collection * примеровViewModels в списке? Я думаю, вы могли бы установить SelectedItem (типа Topic) как DataContext на другом представлении, но затем просто установить ItemsSource ListBox в {Примеры привязки} – Botz3000
В моем примере ModelViewModel уже существует модель ObservableCollection of Examples, которая может быть привязана к списку , Для каждого примераView имеется только один ExampleViewModel. –