Как редактировать элементы внутри наблюдаемой коллекции из представленияC#

Место общения программистов C#
Ответить
Anonymous
 Как редактировать элементы внутри наблюдаемой коллекции из представления

Сообщение Anonymous »

В моем приложении я показываю элементы из наблюдаемой коллекции и хочу, чтобы пользователь мог их редактировать. Во многих темах здесь обсуждается, как добавлять или удалять элементы из коллекции, но я не смог найти ничего о том, как их редактировать.
Итак, в моей модели представления есть следующая коллекция:

Код: Выделить всё

private ObservableCollection exercises = new();
public ObservableCollection Exercises
{
get { return exercises; }
set
{
exercises = value;
OnPropertyChanged();
}
}
ExercisionModel реализует INotifyPropertyChange и помещает начальное значение в элементы:

Код: Выделить всё

public class ExerciseModel: INotifyPropertyChanged
{
private static readonly int maxWeights = 5;
public string IdExercise { get; set; } = string.Empty;
public string IdExerciseSet { get; set; } = string.Empty;
public string ExerciseName { get; set; } = string.Empty;
public ObservableCollection exerciseWeights = new();
public ObservableCollection ExerciseWeights
{
get { return exerciseWeights; }
set { exerciseWeights = value; OnPropertyChanged(); }
}

public event PropertyChangedEventHandler? PropertyChanged;
public void OnPropertyChanged([CallerMemberName] string propertyName = null)
{
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
}
public ExerciseModel()
{
for (int i = 0; i < maxWeights; i++)
{
ExerciseWeights.Add("10");
}
}
}
Мне немного сложно понять вот это. Я не совсем уверен, как выполнить привязку к TextBoxes. Я сделал это так (используя Binding Path=. ): Такой элемент управления отображается корректно. Значения по умолчанию отображаются, но когда я меняю любое из этих значений, они не обновляются в моей модели представления. Что здесь может быть не так?


Подробнее здесь: https://stackoverflow.com/questions/799 ... rom-a-view
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»