我的 AutoCompleteBox 在选择更改时调用 WCF 服务,通常使用鼠标。但是,如果用户使用箭头键在选择中导航,则每个元素都会触发该事件,从而使应用程序的数据过于密集。如何防止 AutoCompleteBox_SelectionChanged 在按键被按下时触发?
我发现这听起来像是一个不错的解决方案,但它不起作用http://betaforums.silverlight.net/forums/p/137710/307786.aspx
我的 AutoCompleteBox 在选择更改时调用 WCF 服务,通常使用鼠标。但是,如果用户使用箭头键在选择中导航,则每个元素都会触发该事件,从而使应用程序的数据过于密集。如何防止 AutoCompleteBox_SelectionChanged 在按键被按下时触发?
我发现这听起来像是一个不错的解决方案,但它不起作用http://betaforums.silverlight.net/forums/p/137710/307786.aspx
好的,我没有使用 AutoCompleteBox_SelectionChanged,而是使用 AutoCompleteBox_DropDownClosed,这解决了问题。
我刚刚发现我是如何解决同样的问题的。我也没有使用 SelectionChanged。
我将行为添加到项目 DataTemplate(到网格根)。此行为将单击处理程序附加到项目。当使用键时,行为是“睡眠”,当我用鼠标单击项目时,行为被调用并使其工作。(我还将项目的所需属性绑定到 DataTemplate 的 Grid 的 Tag 属性,所以我可以从行为中得到它)
并不适用于所有解决方案,但可能很有用。