2011-01-08 2 views
2

J'utilise AutoCompleteBox de la boîte à outils silverlight dans mon application WP7. Lorsque la boîte est mise au point, le SIP (panneau de saisie souple) s'affiche. Bien.Evénements de AutoCompleteBox dans WP7

Maintenant, je voudrais pouvoir détecter:

  1. lorsque l'utilisateur sélectionne une valeur dans la AutoCompleteBox DropDown
  2. lorsque l'utilisateur clique sur « enter » dans le SIP, cela signifie il valide ses entrées

Cela devrait être 2 différents événements comme j'ai 2 différents choses à faire dans les deux cas.

Il y a l'événement SelectionChanged, mais je suis incapable de faire la différence ...

Merci à l'avance pour toute aide.

Meilleures salutations

Répondre

1

Vous pouvez utiliser .Focus() sur un autre contrôle sur la page pour fermer le SIP.

Vous pouvez tester la touche Entrée dans l'événement OnKeyUp de la zone de texte et déplacer le focus.

par exemple.

private void myAutocompleteBox_KeyUp(object sender, System.Windows.Input.KeyEventArgs e) { 
     if (e.Key == Key.Enter) { 
      addButton.Focus(); 
     } 
    } 

Vous pouvez également tester un élément sélectionné par le AutoCompleteBox en cas Textbox.SelectionChanged et déplacer le focus.

Ce post montre comment faire ce dernier.

AutoCompleteBox in Windows Phone 7 « Roger Gullhaug's Blog

+0

Je l'ai déjà tryed pour attraper la touche Entrée dans l'événement OnKeyDown, mais cet événement est jamais tiré pour la touche entrée :( (pour d'autres clés, oui) – Tim

+0

I ajouté le code ajouté au-dessus dans mon projet exemple de montage de Roger .. semble être prendre soin de l'entreprise –

+0

merci L'événement KeyUp fonctionne .. Quelle honte que j'ai seulement testé l'événement de clavier.Merci! – Tim