Я работаю над приложением, которое поможет управлять прогрессом в тренажерном зале. В моем приложении пользователь создает профиль и может создавать комплексы упражнений. У меня есть 2 класса, которые важны в моем вопросе. Первый представляет собой набор упражнений (обратите внимание на свойство, представляющее собой список упражнений):
Код: Выделить всё
public class ExerciseSetModel
{
public string IdExerciseSet { get; set; }
public string IdUser { get; set; }
public string ExerciseSetTitle { get; set; }
public List Exercises { get; set; } = new(); //Note this one
public override string ToString()
{
return $"IdExerciseSet: {IdExerciseSet}, IdUser: {IdUser}, ExerciseSetTitle: {ExerciseSetTitle}";
}
}
Второй представляет одно упражнение, хранящееся в наборе. Это выглядит следующим образом:
Код: Выделить всё
public class ExerciseModel
{
private static readonly int maxWeights = 5;
public string IdExercise { get; set; }
public string IdExerciseSet { get; set; }
public string ExerciseName { get; set; }
public string[] ExerciseWeights { get; set; } = new string[maxWeights];
}
В одном из моих представлений я хотел бы отобразить список наборов в форме, напоминающей прямоугольник. Заголовок Упражнений должен отображаться как заголовок этого прямоугольника, а Упражнения, связанные с этим набором, должны отображаться под этим заголовком в том же прямоугольнике. Я пытаюсь использовать ItemsControl в своем коде XAML. У меня есть модель представления, реализующая INotifyPropertyChanged, и общедоступный список List, определенный в моем коде следующим образом:
Код: Выделить всё
private List outputList;
public List OutputList
{
get { return outputList; }
set { outputList = value;
OnPropertyChanged();
}
}
Мой код Xaml выглядит так. ItemsSource привязан к OutputList.Exercisions. Когда это выглядит так, имена упражнений не помещаются в мой ItemsControl:
Когда я использую этот код, но просто привязываю ItemsSource к OutputList и меняю привязку метки на PracticeSetTitle, это выглядит правильно. Похоже, что вложенный список не читается, но обычный список читается правильно.
Что здесь может быть не так?
Подробнее здесь:
https://stackoverflow.com/questions/798 ... d-property