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

Windows Presentation Foundation Discussion :

[WPF] Binding TwoWay CheckBox


Sujet :

Windows Presentation Foundation

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    634
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 634
    Par défaut [WPF] Binding TwoWay CheckBox
    Bonjour, j'ai un petit soucis concernant un binding d'une checkbox en mode TwoWay.

    J'ai ceci côté xaml :

    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
     
    <ListBox Name="Box" Grid.Column="0" Grid.Row="4" Grid.ColumnSpan="3" ItemsSource="{Binding Search}" ScrollViewer.HorizontalScrollBarVisibility="Disabled" >
                    <ListBox.ItemsPanel>
                        <ItemsPanelTemplate>
                            <WrapPanel IsItemsHost="True" />
                        </ItemsPanelTemplate>
                    </ListBox.ItemsPanel>
                    <ListBox.ItemTemplate>
                        <DataTemplate>
                            <Grid>
                                <Grid.ColumnDefinitions>
                                    <ColumnDefinition Width="120" />
                                    <ColumnDefinition Width="250" />
                                </Grid.ColumnDefinitions>
                                <Grid.RowDefinitions>
                                    <RowDefinition Height="70" />
                                    <RowDefinition Height="70" />
                                </Grid.RowDefinitions>
                                <Image Margin="2" Source="{Binding Image, Converter={StaticResource BinaryToImage}}" Grid.Column="0" Grid.Row="0" Grid.RowSpan="2" />
                                <Label Content="{Binding Title}" Grid.Column="1" Grid.Row="0" FontWeight="Bold" FontSize="13" VerticalAlignment="Center" />
                                <CheckBox  Grid.Row="1" Grid.Column="1" Content="Ajouter" IsChecked="{Binding Checked, Mode=TwoWay}"  />
                            </Grid>
                        </DataTemplate>
                    </ListBox.ItemTemplate>
     
                </ListBox>
    Search est une observable collection d'un type personnalisé. En fait je voudrais que lorsque côté UI je coche la checkbox, ba la valeur Bindée se mette à true. Or même avec le binding two way a ne fonctionne pas. Comment puis-je faire ?

    Merci d'avance.

    Cordialement,
    NeoKript

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 210
    Par défaut
    Salut,

    Citation Envoyé par NeoKript
    Search est une observable collection d'un type personnalisé.
    Ton objet présent dans ta collection implémente-t-il INotifyPropertyChanged ?

  3. #3
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    634
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 634
    Par défaut
    Citation Envoyé par binoo Voir le message
    Salut,



    Ton objet présent dans ta collection implémente-t-il INotifyPropertyChanged ?
    Salut, ma classe personnalisé hérite de ViewModelBase qui lui implemente l'interface

    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
     
        public class Film_Find : ViewModelBase
        {
            public String Title { get; set; }
            public Int64 Id { get; set; }
            public Byte[] Image { get; set; }
            private Boolean _Checked = false;
            public Boolean Checked
            {
                get
                {
                    return (this._Checked);
                }
                set
                {
                    this._Checked = value;
                    this.OnPropertyChanged("Checked");
                }
            }
        }

  4. #4
    Membre chevronné Avatar de MetalGeek
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    412
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 412
    Par défaut
    Salut,

    essaie en mettant un attribut TypeConverter qui prend en charge les types nullable (dans ce cas "bool?") sur la propriété métier concernée.
    J'ai déjà eu pas mal de souci avec les bnding TwoWay sur les états IsChecked des ToggleButton (donc des checkbox). Parfois j'en ai eu tellment marre que j'ai implémenté des UserControl rien que pour m'abonner dans le code-behind aux évènements "Checked" et "Unchecked".

  5. #5
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    634
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 634
    Par défaut
    Salut et merci pour ta réponse.

    Citation Envoyé par MetalGeek Voir le message
    Salut,

    essaie en mettant un attribut TypeConverter qui prend en charge les types nullable (dans ce cas "bool?") sur la propriété métier concernée.
    Ca ne marche toujours pas :s
    Citation Envoyé par MetalGeek Voir le message
    J'ai déjà eu pas mal de souci avec les bnding TwoWay sur les états IsChecked des ToggleButton (donc des checkbox). Parfois j'en ai eu tellment marre que j'ai implémenté des UserControl rien que pour m'abonner dans le code-behind aux évènements "Checked" et "Unchecked".
    Je crois que je vais faire ca aussi, c'est pas des plus classe mais bon. Le binding TwoWay à l'air de poser pas mal de problème qu'en même d'après ce que j'ai pu voir sur pas mal de topic.

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 30/01/2008, 09h18
  2. [WPF] Binding et type custom
    Par sehshe dans le forum Framework .NET
    Réponses: 6
    Dernier message: 09/01/2008, 10h19
  3. wpf binding avec un dataset sans listbox
    Par ZashOne dans le forum Windows Presentation Foundation
    Réponses: 2
    Dernier message: 25/12/2007, 19h09
  4. [WPF][Binding] Comment binder un fichier XML sur un treeview?
    Par bakonu dans le forum Général Dotnet
    Réponses: 5
    Dernier message: 26/11/2007, 17h09
  5. [WPF] Binding sur app.config
    Par despeludo dans le forum Windows Presentation Foundation
    Réponses: 2
    Dernier message: 24/10/2007, 22h56

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