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 :

CheckedListBox et double Binding


Sujet :

Windows Presentation Foundation

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 8
    Par défaut CheckedListBox et double Binding
    Bonjour,

    j'ai actuellement un problème avec une listBox dans laquelle je voudrait à la fois binder la propriété Selected des ListBoxItem et la propriété IsChecked des chekbox de chaque ligne...

    je pense pas mêtre fais comprendre donc :

    Ma classe pour les objet film à afficher dans la listbox, la propriété Selected doit représenter l'état coché de la ligne
    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
     
    public class Film : INotifyPropertyChanged
        {
            public event PropertyChangedEventHandler PropertyChanged;
            protected void OnPropertyChanged(string name)
            {
                if (PropertyChanged != null)
                    PropertyChanged(this, new PropertyChangedEventArgs(name));
            }
     
            public Film(string Titre, int dateSortie)
            {
                _titre = Titre;
                _date = dateSortie;
            }
     
            private string _titre;
            public string Titre
            {
                get { return _titre + " " + _selected; }
                set { _titre = value; OnPropertyChanged("Titre"); }
            }
     
            private int _date;
            public int Date
            {
                get { return _date; }
                set { _date = value; OnPropertyChanged("Date"); }
            }
     
            private bool _selected = false;
            public bool Selected
            {
                get { return _selected; }
                set { _selected = value; OnPropertyChanged("Selected"); OnPropertyChanged("Titre"); }
            }
        }
    Le code XAML, la partie commenté correspond à une partie du fonctionnent.
    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
     
    <ListView Name="_filmsListView" ItemsSource="{Binding Films}" SelectionMode="Multiple">
                <ListView.View>
                    <GridView>
                        <GridViewColumn  Width="150">
                            <GridViewColumn.Header>
                                <GridViewColumnHeader HorizontalContentAlignment="Left">
                                    <CheckBox Name="_headerCheck"
                                              Margin="2,0,0,2"
                                              Content="  Titre des Films"
                                              Click="_headerCheck_Click"/>
                                </GridViewColumnHeader>
                            </GridViewColumn.Header>
                            <GridViewColumn.CellTemplate>
                                <DataTemplate>
                                    <!--<CheckBox Name="_filmChkBox" Margin="0,4,0,4"
                                              Content="{Binding Path=Titre}"
                                              IsChecked="{Binding Path=IsSelected,
                                        RelativeSource={RelativeSource Mode=FindAncestor,
                                        AncestorType={x:Type ListBoxItem}}}" />-->
     
                                    <ListBoxItem IsSelected="{Binding Path=Selected}">
                                        <CheckBox
                                            Margin="0,4,0,4"
                                            IsChecked="{Binding Path=Selected}"
                                            Content="{Binding Path=Titre}"/>
                                    </ListBoxItem>
                                </DataTemplate>
                            </GridViewColumn.CellTemplate>
                        </GridViewColumn>
     
                        <GridViewColumn Width="100">
                            <GridViewColumn.Header>
                                <GridViewColumnHeader HorizontalContentAlignment="Left">
                                    Date de sortie
                                </GridViewColumnHeader>
                            </GridViewColumn.Header>
                            <GridViewColumn.CellTemplate>
                                <DataTemplate>
                                    <TextBlock Text="{Binding Path=Date}" />
                                </DataTemplate>
                            </GridViewColumn.CellTemplate>
                        </GridViewColumn>
     
                    </GridView>
                </ListView.View>
            </ListView>
    Donc ce que je souhaiterai, ce serait que lorsque je clique sur un item, la propriété Selected du film passe à true, et donc que la CheckBox passe également à true.

    J'espère avoir été clair...

    Merci d'avance

    @ bientot
    Fichiers attachés Fichiers attachés

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

Discussions similaires

  1. Double Binding xaml
    Par Lionhart dans le forum C#
    Réponses: 2
    Dernier message: 18/09/2014, 11h02
  2. Double binding sur objet complex
    Par babass77 dans le forum Flex
    Réponses: 5
    Dernier message: 29/04/2011, 10h08
  3. double binding sur combobox >>> possible?
    Par waspy59 dans le forum Windows Presentation Foundation
    Réponses: 16
    Dernier message: 03/11/2009, 23h47
  4. CheckedListBox Binding CheckedItems
    Par adrienfehr dans le forum Windows Presentation Foundation
    Réponses: 5
    Dernier message: 03/03/2009, 18h04
  5. Double binding pour un champ de BdD
    Par Paulo2901 dans le forum ASP.NET
    Réponses: 4
    Dernier message: 27/08/2007, 13h33

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