Wpf 组合框和文本框之间的数据绑定

Wpf 组合框和文本框之间的数据绑定,wpf,binding,Wpf,Binding,我有一个组合框和一个单独的文本框。我已经将combobox的datacontext设置为一个视图模型,用于指定textbox中输入文本的历史记录。我需要的是在单击组合框中的指定项后,让组合框中的选定值立即更新为文本框中的文本。我通过将文本框文本绑定到组合框selecteditem并将模式设置为双向来实现这一点。 但我遇到的问题是,当我在文本框中写入内容,然后在组合框中单击时,第一个组合框项被替换为文本框文本,而我希望只有在用户在文本框中输入文本并点击返回键后,组合框项中的(追加)更新才会发生。

我有一个组合框和一个单独的文本框。我已经将combobox的datacontext设置为一个视图模型,用于指定textbox中输入文本的历史记录。我需要的是在单击组合框中的指定项后,让组合框中的选定值立即更新为文本框中的文本。我通过将文本框文本绑定到组合框selecteditem并将模式设置为双向来实现这一点。 但我遇到的问题是,当我在文本框中写入内容,然后在组合框中单击时,第一个组合框项被替换为文本框文本,而我希望只有在用户在文本框中输入文本并点击返回键后,组合框项中的(追加)更新才会发生。
有指针吗?

首先,您需要删除组合框和文本框的绑定。那么

在按钮命令委托中,将
SearchText
添加到
observedcollection HistoryItems

HistoryItems.Add(SearchText);

几乎保持文本框与ComboBox的选定项的单向绑定。然后,添加@gaurawerma建议的委托。@Uri:将模式设置为单向不允许选中的组合框项目在单击组合框后自动填充文本框。点击回车键后,历史记录项会得到很好的更新,导致此问题的工作流是:写入文本框,不要点击回车,单击组合框->组合框选定项替换为文本框文本。@user1157812-正确设置单向是很重要的。在本例中:从combobox到textbox的一种方式。这意味着您将嵌入语句放入文本框的值中。