我想使用自动完成框的值列表,但也添加新的值,如果用户输入一个不存在的。
目前,我的视图模型中有一个名为“注释”的字符串属性。当前,这将绑定到视图中的textbox中,用户输入注释,视图模型被更新。很简单。
为了节省时间,我的客户希望它能够从以前的值中自动完成,所以我认为这样做的方式如下:
ViewModel
public string Comment;
public ObservableCollection<string> CommentsList { ... }(创建视图模型时填充CommentsList )
视图
<AutoCompleteComboBox ItemsSource="{Binding CommentsList}" SelectedItem="{Binding Comment, Mode=TwoWay/>因此,当用户选择一个值时,它会将该值保存在注释属性中。如果用户在列表中选择一项,这会很好,但是如果用户键入一个新值,则注释属性不会被更新(因为所选项不在列表中,因此为空)。
这能用自动完成盒吗?
先谢谢你,威尔
发布于 2010-04-27 12:18:31
找到解决办法..。
我需要使用Text属性,而不是SelectedItem。
文本包含用户输入或选择的当前文本。
如果当前没有选择任何项,则SelectedItem为空。如果用户在下拉列表中导航、选择项或单击某项,则将更新到该项。
请参见:
http://www.jeff.wilcox.name/2008/10/introducing-autocompletebox/
https://stackoverflow.com/questions/2720384
复制相似问题