Это исходная ситуация:WPF ComboBox: Неправильно Пункт отображается
XAML:
<ComboBox Grid.Row="0"
Grid.Column="1"
Margin="0,3"
HorizontalAlignment="Stretch"
DisplayMemberPath="DisplayText"
ItemsSource="{Binding ObjectSource}" />
ViewModel:
public Collection<MyObjects> ObjectSource
{
get
{
return this.objectSource;
}
set
{
this.SetProperty(ref this.objectSource, value);
}
}
Мои объекты содержит имя (строка), действует с (dateTime) и displayText (только строка), которые объединяют имя и действительный для отображения.
В этой простой ситуации я могу открыть combobox и просмотреть все записи, после выбора одного из них также отобразится правильный отображаемый текст внутри combobox. Теперь я снова открываю область выпадающего меню и выбираю другую запись. В результате переключается выбранный элемент (так как вы можете увидеть элемент с высоким рейтингом при открытии выпадающего списка). Но отображаемый элемент внутри combobox не изменился, все еще есть DisplayText первого выбора.
ли кто-нибудь имеет представление о том, почему для меня выпадающий список не обновляется? Заранее благодарен
Редактировать: Спасибо всем за помощь. Проблема была ошибочной переоценкой Equals.
Вы переопределили равные? – blindmeis
Я проверил вашу проблему, но в моем случае все работает нормально. Может быть, проблема в том, что каким-то образом ваша сборка становится обновленной, или это может быть ваша коллекция. Просто проверьте ее, используя точки останова. – loop
абсолютно каждая вещь отлично работает в моей системе. – Betty