Bonjour,

Je n'arrive pas à setter une valeur par défaut dans une combobox car celle-ci est binder sur un objet chargé à NULL.

Mon binding ressemble à ça :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
            <ComboBox Grid.Column="1" Grid.Row="2" x:Name="Adresse"
                      ItemsSource="{Binding ListeEtablissement}"
                      SelectedItem="{Binding CommandeFournisseur.Etablissement}"
                      DisplayMemberPath="Nom"
                      />
Je peux aussi faire de cette façon :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 <ComboBox Grid.Column="1" Grid.Row="2" x:Name="Adresse"
                      ItemsSource="{Binding ListeEtablissement}"
                      SelectedValue="{Binding CommandeFournisseur.IDEtablissementLivraison}"
                      SelectedValuePath="ID" 
                      DisplayMemberPath="Nom"
                      />
La ListeEtablissement est générée de cette manière :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
private static ObservableCollection<Etablissement> _ListeEtablissement = null;
        public ObservableCollection<Etablissement> ListeEtablissement
        {
            get
            {
 
                if (_ListeEtablissement == null)
                {
                    _ListeEtablissement = new ObservableCollection<Etablissement>(DataAccess.EntitiesContext.Context.Etablissements.OrderBy(F => F.Nom));
 
                }
 
                return _ListeEtablissement;
            }
        }
Le problème est donc lors de la création de ma commande car cette valeur est définie à NULL qui renvoie 0 lors de la validation du formulaire car de type Int. (je préfère éviter de faire une requête pour setter une valeur par défaut car j'ai 3 listes qui ont le même fonctionnement)


Je ne sais pas si je peux utiliser une propriété de la combobox pour obliger à selectionner la première valeur/ou une autre de la ListeEtablissement.


L'association de CommandeFournisseur à Etablissement est de type 1..* ce qui fait que l'IDEtablissement dans mon objet ne peu pas être NULL.

Etant de type Int je ne peut pas mettre NULL je ne peut donc pas tester faire la vérif via Entity Framework et mon validateur générique ("l'erreur n'est pas capter car IDEtablissement = 0")


Visuellement parlant ça donne ceci :
Nom : Capture.PNG
Affichages : 243
Taille : 4,1 Ko


Ajout :


De plus j'aimerai vérifier ma relation 1..*, je créer donc une Commande avec au minimum 1 CommandesLignes
.

Mon problème est que je ne sais pas comment vérifier que ma commande contient au moins une ligne. Je dispose d'une class validator mais je ne vois pas comment l'implémenter dedans.
Nom : Sans titre.png
Affichages : 301
Taille : 79,9 Ko


Merci