Pregunta

Mi autocompleteBox llama a un servicio WCF cuando se cambia la selección, generalmente con el mouse. Sin embargo, si el usuario usa las teclas de flecha para navegar a través de la selección, el evento se dispara para cada elemento, lo que hace que la aplicación sea demasiado intensiva. ¿Cómo evito que el autocompleteBox_SelectionChanged se dispare cuando se presionan las teclas?

Encontré esto que sonaba como una buena solución pero no funciona http://betaforums.silverlight.net/forums/p/137710/307786.aspx

¿Fue útil?

Solución

Ok, en lugar de usar autocompleteBox_SelectionChanged, estoy usando autocompleteBox_DropdownClosed, y esto solucionó el problema.

Otros consejos

Acabo de encontrar cómo he resuelto este mismo problema. Además, no estoy usando SelectionChanged.
Agregué el comportamiento al elemento DataTemplate (a la raíz de la cuadrícula). Este comportamiento adjunta el controlador de clic al elemento. Cuando se usan las teclas, el comportamiento es "dormir", cuando hago clic en el elemento con mouse, se llama al comportamiento y hago su trabajo. (También encuentro la propiedad necesaria del elemento a la propiedad de etiqueta de la cuadrícula de la plataforma de datos, para que pueda llegar a ella desde el comportamiento)

No es adecuado para cada solución, pero puede ser útil.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top