2

我希望在这里遗漏一些非常明显的东西,但对于我的生活,我无法弄清楚这一点。

我有一个AutoCompleteBox通过异步调用检索结果的控件,尽管我找不到可靠的方法来知道用户何时从返回值列表中选择了一个选项。我已经尝试加入该SelectionChanged事件,但它会触发自动完成下拉列表中的每一个动作,而我真正想知道的是用户何时明确地说“嘿,这就是我想要的项目!” 通过单击它或使用返回键选择它。

任何建议将不胜感激,因为这现在开始让我有点疯狂。=)

谢谢

PSSelectionChanged事件参数提供AddedItemsand RemovedItems,但没有直接指示我正在寻找的选择类型。

4

2 回答 2

1

没有一个特定的事件表明用户已经专门针对某个选项而不是仅仅浏览。

对于您而言,您可以获得的最接近的场景是DropDownClosed甚至LostFocus事件然后访问该SelectedItem属性。

于 2010-01-12T16:00:41.250 回答
0

如果您使用的是 Telerik AutoCompleteBox,那么您可能正在寻找“OnEntryAdded”事件。我看到这个问题是 4 年前提出的,所以当时这个事件可能不存在。我刚刚更新到 Telerik 控件的最新更新(2014 Q2)。这是一个简单的例子。我删除了我们在这里没有讨论的属性来清理它,但显然,除非您在代码中设置它们(例如 DataSourceID),否则这些属性需要重新添加。

源页面:

<telerik:RadAutoCompleteBox ID="RadAutoCompleteBox1" runat="server" OnEntryAdded="RadAutoCompleteBox1_EntryAdded" >
</telerik:RadAutoCompleteBox>

测试代码(在 VB 中):

   Protected Sub RadAutoCompleteBox1_EntryAdded(sender As Object, e As AutoCompleteEntryEventArgs)
        MsgBox(e.Entry.Text)   'This is just to show you the DataValueField in your dev 
        MsgBox(e.Entry.Value)  'This is just to show you the DataTextField in your dev
        racbCustomer.Entries.Clear()  'This will wipe out the selection(s)
   End Sub
于 2014-08-14T15:14:50.343 回答