C# 将Silverlight Toolkit AutoCompleteBox附加到所选项目

C# 将Silverlight Toolkit AutoCompleteBox附加到所选项目,c#,silverlight,autocomplete,silverlight-2.0,silverlight-toolkit,C#,Silverlight,Autocomplete,Silverlight 2.0,Silverlight Toolkit,我正在使用Silverlight Tookit(12月发布)中的自动完成框。当用户输入时,我使用Web服务返回一个ItemsSource,其中只包含用户当前在AutoCompleteBox中输入的单词的查找(与整个短语相反,这是默认行为)。我现在想做的是,如果用户从下拉列表中选择一个选项,我想将该选项附加到AutoCompletBox中,而不是像现在这样替换它 例如,如果最后一项应为“John Smith”。目前,当用户键入J-O-H-N时,将出现一个包含John的列表,用户可以根据需要选择Jo

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

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

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

有人能告诉我该去哪里处理这种行为吗


谢谢

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

我考虑过在我的模型视图中的属性中存储预挂数据,这将完成您所说的,但这似乎是完成任务的一种笨拙的方式。我可以把它作为一个短期的解决方案,但我希望它不一定是最终的解决方案。对我来说似乎不是很干净。所以,最后,这就是我决定要做的。此时唯一的其他选择是编写自己版本的选择适配器来更改此行为。以后可能会很有趣,但不会有最后期限。