WPF/Silverlight AutococteTebox具有添加新值以列出的功能
-
01-10-2019 - |
题
我想将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/
不隶属于 StackOverflow