更改WPF ComboBox显示的文本

时间:2016-01-28 21:45:44

标签: c# wpf combobox

我有一个绑定到ObservableCollection的组合框<>采集。集合中有7个对象,它们是一个具有要显示的字符串和DateTime的类。该集合中的第一项是空白的,当用户下拉列表时,他们会看到文本选择(今天,明天,今天@中午,今天@午夜......)。用户选择一个然后我将第一个项目的文本设置为计算值(2016年1月28日上午6:00)。这一切都适用于ComboBox关闭事件。

然而,我有另一个地方,用户可以调整小时或分钟部分。假设将小时6更改为9.然后我更新集合中第一个对象的文本。现在我想获得关闭的ComboBox控件来更新它当前显示的内容。

我看到的第一个问题是我正在改变的是“内部”集合,因此INotifyPropertyChanged无法提供帮助。然后我意识到我正在改变现有对象的内容,所以我看不到ComboBox如何知道更新。

我现在的想法是,我完全走错了道路,并且有一个更好的模式起诉。无论是那个还是有一些简单的“重置”我没有找到的ComboBox机制。

1 个答案:

答案 0 :(得分:0)

您的对象必须实现INotifyPropertyChanged接口 请看一下Here

至于你的方法我认为你必须安排你的ComboBoxes,当你在ComboBox中选择一个选项时,下一个选项应该考虑并排除那些不在选择之前选择的选项< / p>