WPF ComboBox:显示错误的项目

时间:2013-07-16 12:09:56

标签: c# wpf mvvm combobox

这是最初的情况:

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);
    }
}

我的对象包含一个名称(字符串),有效来自(dateTime),一个displayText(字符串只有get),它结合了名称和有效用于显示。

在这种简单的情况下,我可以打开组合框并查看所有条目,选择一个后它也会在组合框内显示正确的显示文本。 现在我再次打开下拉区域并选择其他条目。 结果是所选择的项目被切换(当再次打开下拉条目时,您可以看到高亮度项目)。但是组合框内显示的项目没有改变,仍然有第一个选择的DisplayText。

Screenshot of the result situation

有没有人知道为什么组合框不会更新? 提前致谢

编辑: 谢谢大家的帮助。问题是等于错误的错误。

1 个答案:

答案 0 :(得分:1)

只是为了完整性:)

你必须检查你的Equals()覆盖并确保它没有错误。 这些天我在列表框中遇到了同样的问题。

相关问题