【问题标题】:Appending Silverlight Toolkit AutoCompleteBox with selected item将 Silverlight Toolkit AutoCompleteBox 与所选项目附加
【发布时间】:2009-02-17 19:02:49
【问题描述】:

我正在使用 Silverlight Tookit(12 月发布)中的自动完成框。当用户键入时,我使用 web 服务返回一个 ItemsSource,其中仅包含用户当前在 AutoCompleteBox 中键入的单词的查找(与整个短语相反,这是默认行为)。我现在想做的是,如果用户从下拉列表中选择一个选项,我想将该选项附加到 AutoComplteBox,而不是像现在这样替换它。

例如,如果最后一项应该读作“John Smith”。目前,当用户键入 J-O-H-N 时,将出现一个包含 John 的列表,他们可以根据需要选择 John。当他们继续键入 S-M-I-T-H 时,我已经处理了填充事件以仅将 .Text 属性中的最后一个单词传递给 Web 服务,他们将获得一个包含 smith 的列表。到现在为止还挺好。但是,当从下拉菜单中选择“Smith”时,内容“John”会被内容“Smith”替换,从而只留下“Smith”,而不是我们想要的“John Smith”。

我试图通过为 DropDownClosing 和/或 SelectionChanged 事件编写自定义处理程序来解决这个问题。这些似乎都不是要处理的正确事件。

有人可以指导我去哪里管理这种行为吗?

谢谢

【问题讨论】:

    标签: c# silverlight autocomplete silverlight-2.0 silverlight-toolkit


    【解决方案1】:

    既然您已经附加到 on populating 事件,并且可能会启动对服务器的数据请求,为什么不在返回之前将“John”附加到 itemssource 中的所有项目?那么当你匹配时它就已经存在了。

    【讨论】:

    • 我已经考虑将前置数据存储在我的模型视图中的一个属性中,这将完成你所说的,但这似乎是完成任务的一种笨拙的方式。我可能将其作为短期解决方案,但我希望它不必成为最终解决方案。对我来说似乎不是很干净。
    • 所以,最后,这就是我决定要做的事情。此时唯一的其他选择是编写我自己的选择适配器版本来更改此行为。以后可能会很有趣,但没有截止日期。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多