У меня есть ListControl, который заполнен ObservableCollection
. У меня также есть «Добавить новый элемент» TextBox
на usercontrol. Когда я вводим текст в TextBox
и нажимаю «Добавить», элемент проходит через соответствующую логику и добавляет к моему ObservableCollection
, который немедленно отображает ListControl. Все идет нормально.Добавление нового элемента в ObservableCollection из TextBox остается связанным?
ОДНАКО. То, что TextBox
по-прежнему заполняется элементом, который я только что добавил ... если я попытаюсь изменить или отменить это TextBox
, элемент, который я только что добавил, отражает изменение! Как я могу получить TextBox
, чтобы очистить после добавления нового элемента? Я использую подход MVVM, поэтому мой TextBox
привязан к {Binding Path=Object.Name}
.
Любые идеи?
Когда вы говорите «Клон», что именно вы имеете в виду? Я не могу просто сказать BackupObject = CurrentObject; BusinessClass.Save (BackupObject); CurrentObject = null; Причина в том, что, похоже, мой BackupObject просто указывает на тот же объект в памяти, на который указывает CurrentObject. Разве я не клонирую объект правильно? – Shafique
Нет, вам нужно создать новый объект с теми же данными, что и оригинал. Обычно это делается путем реализации интерфейса ICloneable. Итак, если объект был строкой с именем переменной theString, вы должны добавить theString.Clone() в ObservableCollection, который создаст совершенно новый объект String. – timothymcgrath