这是最初的情况:
XAML:
<ComboBox Grid.Row="0"
Grid.Column="1"
Margin="0,3"
HorizontalAlignment="Stretch"
DisplayMemberPath="DisplayText"
ItemsSource="{Binding ObjectSource}" />
视图模型:
public Collection<MyObjects> ObjectSource
{
get
{
return this.objectSource;
}
set
{
this.SetProperty(ref this.objectSource, value);
}
}
My Objects 包含一个名称(字符串)、有效自(dateTime)和一个 displayText(仅获取字符串),它们结合了名称和有效自用于显示。
在这种简单的情况下,我可以打开组合框并查看所有条目,选择一个后它还会在组合框中显示正确的显示文本。现在我再次打开下拉区域并选择另一个条目。结果是所选项目切换(再次打开下拉条目时可以看到突出显示的项目)。但是combobox里面显示的item没有变,还是有第一次选择的DisplayText。
有人知道为什么组合框不更新吗?提前致谢
编辑:感谢大家的帮助。问题是 Equals 的错误覆盖。