У меня есть поле со списком, связанное с пользовательским типом коллекции - его в основном переопределенный ObservableCollection, в который я добавил средство для обновления базовой коллекции (через Unity) ,привязка wpf по выбранному значению - обвязка связанного объекта без нарушения привязки
Я не хочу слишком много путать проблему, но это тот фон.
Моя XAML выглядит следующим образом
<ComboBox ItemsSource="{Binding Manufacturers}" DisplayMemberPath="Name" SelectedValuePath="ID" SelectedValue="{Binding Vehicle.ManufacturerID}" />
И в моей переопределенном коллекции я делал это.
var index = IndexOf(oldItem);
this[index] = (T)newItem;
я надеялся, потому что он был связан по значению, что вставив новый объект (который имел тот же идентификатор) на старом объекте будет работать. Но кажется, что, хотя он связан с SelectedValue, он все еще знает, что его заменяют на другое. Комбо просто теряет свой выбор.
Помогите пожалуйста?
Привет, спасибо за вашу помощь, но поскольку мой код находится в моем переопределенном ObservableCollection, у меня нет доступа к SelectedValue из поля со списком. Любые другие идеи? –
Хм вы правы .. можете ли вы «обновить» существующий элемент новыми значениями свойств? – Arcturus
Как ни странно, я просто подумал и использовал отражение, чтобы скопировать свойства. Кажется, работает очень хорошо! –