La saisie semi-automatique de zone de texte dans WPF
Est-il possible de faire une zone de texte de saisie semi-automatique dans WPF?
J'ai trouvé un exemple où une zone de liste modifiable est utilisé et que le triangle est retiré en modifiant le modèle de style.
Est-il une meilleure solution?
- C'est un bon début joshsmithonwpf.wordpress.com/2007/06/12/...
Vous devez vous connecter pour publier un commentaire.
Vous pouvez en trouver un dans la WPF Toolkit, qui est également disponible via NuGet.
Cet article démos comment créer une zone de texte qui peut auto-suggérer des points à l'exécution basé sur l'entrée, dans ce cas, le lecteur de disque de dossiers.
WPF saisie semi-automatique de Dossier de zone de texte
Également prendre un coup d'oeil à cette belle Réutilisable WPF zone de texte de saisie semi-automatique, il était pour moi très utilisable.
Nimgoble de l' est la version que j'ai utilisée en 2015. J'ai pensé le mettre ici que cette question était en haut de la liste dans google pour "wpf zone de texte de saisie semi-automatique"
Installer le package nuget pour le projet dans Visual Studio
Ajouter une référence à la bibliothèque dans le code xaml:
xmlns:behaviors="clr-namespace:WPFTextBoxAutoComplete;assembly=WPFTextBoxAutoComplete"
Créer une zone de texte et lier la AutoCompleteBehaviour à
List<String>
(TestItems):<TextBox Text="{Binding TestText, UpdateSourceTrigger=PropertyChanged}"
behaviors:AutoCompleteBehavior.AutoCompleteItemsSource="{Binding TestItems}" />
À mon humble avis c'est beaucoup plus facile de démarrer et de gérer que les autres options énumérées ci-dessus.
J'ai publié un WPF Automatique de la Zone de Texte en WPF au CodePlex.com. Vous pouvez la télécharger et l'essayer à partir de https://wpfautocomplete.codeplex.com/.
ou vous pouvez ajouter la AutoCompleteBox dans la boîte à outils en cliquant dessus, puis Choisir des Éléments, aller à WPF Composants, tapez dans le filtre AutoCompleteBox, qui est sur le Système.De Windows.Contrôle de l'espace de noms et la il suffit de glisser dans votre fichier xaml. C'est de façon beaucoup plus facile que de faire ces autres choses, depuis le AutoCompleteBox est un natif de contrôle.
System.Windows.Controls.AutoCompleteBox
ne fait pas partie de WPF. Vous devez ajouter une référence à la WPF Toolkit pour utiliser cette commande.et ici la fourchette de la boîte à outils qui contient le port à 4.O,
https://github.com/jogibear9988/wpftoolkit
il a très bien fonctionné pour moi .
Je sais que c'est une très vieille question, mais je veux ajouter une réponse je suis venu avec.
D'abord vous avez besoin d'un gestionnaire pour votre normal
TextChanged
gestionnaire d'événement pour l'TextBox
:Puis faire un simple
PreviewKeyDown
gestionnaire:Dans cet exemple "Fichiers" est une liste de noms de répertoire créé sur le démarrage de l'application.
Ensuite, il suffit de fixer les gestionnaires:
Avec ce que vous choisissez de mettre dans le
List
sera utilisé pour la saisie semi-automatique de la boîte. Cela peut ne pas être une bonne option si vous vous attendez à avoir une liste énorme pour la saisie semi-automatique, mais dans mon application il ne voit jamais de 20-50 éléments de sorte qu'il parcourt très rapide.Si vous avez un petit nombre de valeurs à la saisie semi-automatique, vous pouvez simplement les ajouter dans le code xaml. En tapant appelle de l'auto-complétion, de plus, vous avez des listes déroulantes trop.