Я работаю над небольшим приложением для тренировки и сталкиваюсь с проблемой отображения вида в другом представлении.silverlight MVVM Вид в представлении
У меня есть WorkoutSummaryView
с поддержкой WorkoutSummaryViewModel
. В сводном представлении тренировки я хочу отобразить список SingleExerciseView
элементов. Каждый SingleExerciseView
имеет подпорку SingleExerciseViewModel
, которая отображает имя и упражнения и ObservableCollection<Set>
т. Е. Наборы упражнений с парой веса/повторений.
упрощенный код:
public class ExerciseSummaryViewModel : ViewModelBase
{
public ExerciseSummaryViewModel()
{
_workout = DB.GetWorkout();
foreach (Exercise ex in _workout.Exercises)
ExerciseVMs.Add(new SingleExerciseViewModel(ex));
}
public ObservableCollection<SingleExerciseViewModel> ExerciseVms { get; private set; }
}
//Code for singleExerciseVM
public class SingleExerciseViewModel : ViewModelBase
{
public SingleExerciseViewModel(Exercise exercise)
{
Name = exercise.Name;
Sets = exercise.Sets;
}
public string Name { get; set; }
public ObservableCollection<Set> Sets { get; set; }
}
Моя проблема в том, что я не знаю, как идти дальше, чтобы получить мои SingleExerciseViewModels для отображения. Я попытался настроить dataContext для SingleExerciseView в xaml на мой SEVM, но это все еще не работает.
//XAML for ExerciseSummaryView
<ListBox Height="496" Width="412" ItemsSource="{Binding ExerciseVms}">
<ListBox.ItemTemplate>
<DataTemplate>
<local:SingleExerciseView />
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>