J'essaie d'implémenter un comportement similaire à Firefox 3 AwesomeBar dans WPF. J'ai un ComboBox pour utiliser un DataTemplate qui fait que la liste déroulante ressemble à la liste déroulante pour l'AwesomeBar, mais je ne suis pas sûr de savoir comment obtenir le bon comportement. Ce que je veux arriver, c'est que l'utilisateur tape sa recherche dans le bit TextBox de la ComboBox et ensuite affine progressivement les résultats dans la liste déroulante. Je pense que je peux probablement obtenir l'interrogation de la base de données (car les résultats proviendront de la base de données), mais ce que je veux obtenir, c'est que le bit descendant s'ouvre dès que l'utilisateur commence à taper (comme dans Firefox) 3) puis le premier élément de la liste à sélectionner automatiquement et les autres éléments de la liste pour pouvoir être sélectionnés en utilisant les touches fléchées ou en cliquant dessus.FF3 Comportement AwesomeBar dans WPF
Mise à jour:
J'ai maintenant trouvé le chemin programmatique pour obtenir le ComboBox de descendre (en utilisant IsDropDownOpen = true) mais j'ai encore quelques autres problèmes:
Tout d'abord quand je tape quelque chose, il tombe mais il ne sélectionne pas la correspondance la plus proche de ce que je tape, et deuxièmement quand je tape quelque chose qui sélectionne de façon unique un élément, il ferme automatiquement et exécute la méthode SelectedItemChanged. Je ne veux que fermer et exécuter le code lorsque j'ai cliqué dessus ou appuyé sur Entrée (plutôt que d'avoir la sélection en utilisant les flèches haut et bas). Des idées comment l'obtenir pour faire ce que je veux? Je peux donner plus d'informations si ce n'est pas assez clair.
Thanks.I » J'ai essayé ça, mais ça ne semble pas tomber lorsque je tape quelque chose qui est assez unique pour sélectionner un élément directement. En outre, cela ne fonctionne que pour sélectionner les éléments qui commencent par les caractères que vous tapez - je voudrais le faire rechercher dans toute la chaîne. Des idées pour changer cela? – robintw