WPF/Silverlight AutoCompleteBox 能够向列表添加新值

发布于 2024-08-30 19:13:53 字数 702 浏览 5 评论 0原文

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

目前,我的视图模型中有一个名为“Comment”的字符串属性。目前,它绑定到视图中的文本框 - 用户键入注释,视图模型就会更新。简单的。

为了节省时间,我的客户希望它能够根据以前的值自动完成,因此我认为执行此操作的方式类似于:

ViewModel

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

(在创建视图模型时填充 CommentsList)

View< /strong>

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

因此,当用户选择一个值时,它会将该值保存在 Comment 属性中。如果用户在列表中选择一个项目,则此方法可以正常工作,但如果用户键入新值,则 comment 属性不会更新(它为 null,因为所选项目不在列表中)。

这可以通过自动完成框实现吗?

提前致谢, 将要

I would like to use autocompletebox with a list of values, but also add new values to the list if a user enters one that isn't present.

I currently have a string property in my view model called 'Comment'. Currently this is bound to a textbox in the view - user types a comment and the view model is updated. Simple.

To save time, my customer would like it to autocomplete from previous values, so the way I thought to do this is something like:

ViewModel

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

(populate the CommentsList when the viewmodel is created)

View

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

So when the user selects a value, it saves the value in the Comment property. This works fine if the user selects an item in the list, but if the user types in a new value, the comment property is not updated (it is null because the selected item was not in the list).

Is this possible with autocompletebox?

Thanks in advance,
Will

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

携余温的黄昏 2024-09-06 19:13:53

找到解决方案...

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

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

SelectedItem
如果当前没有选择任何项目,则为 null。
如果用户浏览下拉菜单、选择项目或单击某个项目,则会更新为该项目。

请参阅:

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

Found the solution...

I needed to use the Text property, not SelectedItem.

Text
Contains the current text that the user has entered or selected.

SelectedItem
Is null if no item is currently selected.
If the user navigates through the drop down, selecting items, or clicks on an item, this will be updated to that item.

See:

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文