bonjour,
je programme en c# / xaml en essayant au maximum de respecter le pattern MVVM et en suivant ce principe je n'arrive pas a trouver comment associer deux binding a un seul checkbox , voici mon code
ceci est la partie xaml qui me permet de savoir si le checkbox doit être sélectionne ou pas IsChecked="{Binding Path=ADP_DEFAUT1}"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 <ListView x:Name="listView_Nomtiers_org" HorizontalAlignment="Left" Height="91" Margin="0,5,0,0" Grid.Row="9" VerticalAlignment="Top" Width="555" ItemsSource="{Binding ListeDeFichesNom}" SelectedValue="{Binding SelectedTierAdresse,Mode=TwoWay}"> <ListView.Resources> <DataTemplate x:Key="chkadresse"> <CheckBox IsChecked="{Binding Path=ADP_DEFAUT1}" Command="{Binding CheckBox_Default_org_Adresse }" IsEnabled="True" /> </DataTemplate> </ListView.Resources>
ce binding la ne me pose pas de soucis et fonctionne correctement , par contre le second Command="{Binding CheckBox_Default_org_Adresse }" qui doit "normalement " mettre a jour un variable booléen dans un base de donnée en fonction de l’état de la chekbox , ne fonctionne pas , ce dessus le code de ma fonction
ModifDefaultAdresse doit normalement utiliser une procédure stockée afin de mettre a jour ma bdd or a aucun moment CheckBox_Default_org_Adresse n'est exécuter car dans ma console n’apparaît pas hey hey ni la valeur correspondant à a
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
17
18
19
20
21
22 public bool CheckBox_Default_org_Adresse { get { return checkBox_Default_org_Adresse; } set { if (checkBox_Default_org_Adresse != value) { var client = new ServiceReferenceTiers.FicheTiersServiceClient(); var a = client.ModifDefaultAdresse(selectedTierAdresse, selectedTier); Console.WriteLine(a); client.Close(); checkBox_Default_org_Adresse = value; ficheTierOrgSelectionne(); NotifyPropertyChanged(); Console.WriteLine("hey hey"); } } }
j'aimerais donc savoir comment faire pour que ma checkedbox puisse a la fois récupéré sa valeur true/false lorsque que je lance le programme (déjà opérationnel ) et être mis a jour si elle est cochée / décochée (non fonctionnel ).
merci d'avoir lu ce post, si vous avez un idée n'hésiter pas .
Partager