我想将AutoCompletebox与一个值列表一起使用,但如果用户输入不存在的值,也将新值添加到列表中。

我目前在视图模型中有一个名为“评论”的字符串属性。当前,这与视图中的文本框绑定 - 用户键入注释,并且视图模型已更新。简单的。

为了节省时间,我的客户希望它从以前的值中自动完成,因此我认为这样做的方式是:

ViewModel

public string Comment;
public ObservableCollection<string> CommentsList { ... }

(创建ViewModel时填充评论清单)

看法

<AutoCompleteComboBox ItemsSource="{Binding CommentsList}" SelectedItem="{Binding Comment, Mode=TwoWay/>

因此,当用户选择一个值时,它将值保存在评论属性中。如果用户在列表中选择一个项目,则可以正常工作,但是如果用户在新值中键入新值,则不会更新注释属性(因为所选项目不在列表中,因此是无效的。

Autococtetebox是否可以使用?

预先感谢Will

有帮助吗?

解决方案

找到解决方案...

我需要使用文本属性,而不是SelectedItem。

文本包含用户输入或选择的当前文本。

SelectedItem如果当前未选择任何项目,则为null。如果用户在下拉列表中导航,选择项目或单击一个项目,则将更新为该项目。

看:

http://www.jeff.wilcox.name/2008/10/introducing-autocompletebox/

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top