我需要实现一个可编辑的组合框,其中用户可以从数据/表中选择现有的值。它需要是可编辑的,因为用户还可以通过在可编辑组合框中输入新值来向表中添加新行,因此我在页面中放置了一个AutoCompleteBox控件,但我找不到任何关于如何实现此功能的示例。它应该在可编辑的下拉列表中显示类似Employee Name的内容,同时拥有包含员工ID的SelectedValue属性。
任何帮助都将不胜感激。
干杯!
发布于 2009-12-24 04:13:12
您需要将自动完成框的ItemsSource绑定到您的"lookup“集合。您可以使用ValueMemberBinding来解析要查找的文本输入,例如,如果您有一个人员列表,请将其绑定到Model.Name,如{Binding Name},以按姓名查找人员。
至于下拉项,您可以使用模板来以您喜欢的方式显示这些项。如果你想在这个问题上表现得很好,你就需要设计Heres ItemTemplate的样式。在示例中,您将在ItemsTemplate元素内的xaml中创建一个数据模板,添加一个文本块,并将其文本属性绑定到名称,如{Binding Name}。
Here是一个很好的例子,其中自动完成框的样式类似于组合框。您可以将其扩展为在TextChanged上查找"enter“,并检查ItemsSource中是否包含该项。如果不是,它可以将新值推送到服务器(如果您正在使用MVVM,您可以在您的ViewModel上发出一个命令,将添加任务委派给服务器并更新这些项)。
发布于 2010-03-18 14:34:40
下面是另一个示例,它将AutoCompleteBox扩展为一个预先输入的ComboBox。它可以使用DPs处理外键/查找in,并且可以在MVVM场景中使用。AutoComplete ComboBox for Silverlight
https://stackoverflow.com/questions/1954768
复制相似问题