Zone de liste déroulante avec un élément vide?
Supposons que nous avons une source de données à lier à une collection à partir de la Base de données. Il n'est pas null élément de cours. Comment ajouter un nulle élément dans une zone de liste déroulante, de sorte que lors du premier chargement de l'utilisateur verra une chaîne vide. Je ne veux pas ajouter un mannequin/void objet dans la Collection. De manière optimale dans le code XAML. Toutes les propositions?
- Méfiez-vous, que la solution proposée NE fonctionne PAS avec la liaison.
- J'ai trouvé un moyen de contourner la liaison problème, voir ce post: stackoverflow.com/questions/6446699/...
Vous devez vous connecter pour publier un commentaire.
MODIFIER
Comme @surf mentionné dans un commentaire, BindingProxy est solution de contournement pour le problème de liaison
SelectedItem
à monViewModel.SelectedItem
. J'ai créé unNullItemConverter:IValueConverter
qui serait de convertir la valeur null à la chaîne: "Sélectionnez l'Élément" et à l'arrière. Il n'a pas de travail parce que le premier élément n'est pas de la chaîne - c'estComboBoxItem
. Je l'ai remplacé par une simple chaîne de caractères:<sys:String>Empty Item</sys:String>
. Maintenant ça fonctionne, je peux mettreSelectedItem=null
dans ma VM et Vide de l'Élément est sélectionné.Pour la liaison sur MVVM objet:
Et pour la liaison sur :
Et le convertisseur universel :
Juste important de déclarer la SelectedValuePath dans la zone de liste déroulante.
🙂
Essayer le Mahapps zone de liste déroulante.
xmlns:contrôle="http://metro.mahapps.com/winfx/xaml/controls"