IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

binding sur checkedbox


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2015
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2015
    Messages : 80
    Par défaut binding sur checkedbox
    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

    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>
    ceci est la partie xaml qui me permet de savoir si le checkbox doit être sélectionne ou pas IsChecked="{Binding Path=ADP_DEFAUT1}"
    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

    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");
                    }
                }
            }
    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

    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 .

  2. #2
    Membre Expert
    Avatar de GuruuMeditation
    Homme Profil pro
    .Net Architect
    Inscrit en
    Octobre 2010
    Messages
    1 705
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : .Net Architect
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2010
    Messages : 1 705
    Par défaut
    Tu dois utiliser une commande. Command s'attend à être bindé sur un type qui implémente ICommand. http://www.codeproject.com/Articles/...terface-in-WPF

  3. #3
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2015
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2015
    Messages : 80
    Par défaut
    bonjour et merci pour ta réponse GuruuMeditation
    j'ai donc implémenter une icommande mais cela ne fonctionne toujours pas mon second binding n'appel jamais ma methode voici mon code


    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
    23
    24
    25
    26
    27
     
            ICommand checkBox_Default_Org_Adresse;
            public ICommand CheckBox_Default_Org_Adresse
            {
                get
                {
                    if (checkBox_Default_Org_Adresse == null)
                    {
                        checkBox_Default_Org_Adresse = new RelayCommand<FicheTier>((fiche) =>
                        {
                            if (selectedTierAdresse != null)
                            {
     
                                var client = new ServiceReferenceTiers.FicheTiersServiceClient();
                                client.ModifDefaultAdresse(selectedTierAdresse, selectedTier);
                                ListeDeFichesUrl = new ObservableCollection<FicheTier>(client.GetURLOrg(selectedTier));
                                client.Close();
                            }
                            else
                            {
                                MessageBox.Show("Vous devez selectionnée un Site Web pour pouvoir le supprimer");
                            }
                        });
                    }
                    return checkBox_Default_Org_Adresse;
                }
            }

    perso je pense que command n'est pas la bonne commande pour faire mon binding qu'en pense tu ?

  4. #4
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2015
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2015
    Messages : 80
    Par défaut
    bon ben j'ai toujours rien trouver quelqu'un peut t'il m'aider

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [2005] Datagrid et binding sur proc. stockée ?
    Par cedric_g dans le forum Windows Forms
    Réponses: 11
    Dernier message: 07/08/2007, 17h03
  2. Binding sur <h:inputText> dans une boucle
    Par danyboy85 dans le forum JSF
    Réponses: 6
    Dernier message: 29/05/2007, 11h16
  3. [xaml] Bind sur le titre d'une page
    Par despeludo dans le forum Framework .NET
    Réponses: 6
    Dernier message: 21/03/2007, 09h07
  4. Méthode Bind sur quoi
    Par frouty dans le forum wxPython
    Réponses: 4
    Dernier message: 18/11/2006, 00h24
  5. binding sur une string
    Par fxp17 dans le forum JSF
    Réponses: 8
    Dernier message: 08/09/2006, 11h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo