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 :

CheckBox dans ListView Binding Combobox


Sujet :

Windows Presentation Foundation

  1. #1
    Membre du Club
    Homme Profil pro
    Technicien d'étude
    Inscrit en
    Juin 2015
    Messages
    87
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Technicien d'étude

    Informations forums :
    Inscription : Juin 2015
    Messages : 87
    Points : 61
    Points
    61
    Par défaut CheckBox dans ListView Binding Combobox
    bonjour tout le monde

    J'ai une petite problématique à vous soumettre :

    J'ai une listview avec en itemsource une observablecollection<T> avec une checkbox et une combobox :

    Mon 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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
     
     <ListView  BorderThickness="0" Grid.Row="2" Margin="0" Height="300" Width="auto"  ItemsSource="{Binding ListDeperdition, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged, IsAsync=True}" SelectedItem="{Binding SelectedItem ,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" IsSynchronizedWithCurrentItem="True" Background="{x:Null}">
     
                                    <ListView.View>
                                    <GridView ColumnHeaderContainerStyle="{StaticResource MasqueHeader}">
     
                                        <GridViewColumn Width="80">
                                            <GridViewColumn.CellTemplate>
                                                <DataTemplate>
                                                    <CheckBox Width="64" HorizontalAlignment="Center" IsChecked="{Binding SecheServiette, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"  />
                                                </DataTemplate>
                                            </GridViewColumn.CellTemplate>
                                        </GridViewColumn>
                                        <GridViewColumn Width="150" DisplayMemberBinding="{Binding Piece}" />
     
                                        <GridViewColumn Width="80">
                                            <GridViewColumn.CellTemplate>
                                                <DataTemplate>
                                                    <CheckBox Width="64" HorizontalAlignment="Center" IsChecked="{Binding Regroupement}" />
                                                </DataTemplate>
                                            </GridViewColumn.CellTemplate>
                                        </GridViewColumn>
                                        <GridViewColumn Width="70">
                                            <GridViewColumn.CellTemplate>
                                                <DataTemplate>
                                                    <ComboBox  Width="54"  HorizontalAlignment="Center" ItemsSource="{Binding ListMarque, UpdateSourceTrigger=PropertyChanged}" SelectedItem="{Binding SelectedMarque , Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" IsSynchronizedWithCurrentItem="True"  />
     
                                                </DataTemplate>
                                            </GridViewColumn.CellTemplate>
                                        </GridViewColumn>
                                        <GridViewColumn Width="70">
                                            <GridViewColumn.CellTemplate>
                                                <DataTemplate>
                                                    <ComboBox  Width="54"  HorizontalAlignment="Center" ItemsSource="{Binding ListModele, UpdateSourceTrigger=PropertyChanged}" SelectedItem="{Binding SelectedModele , Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" IsSynchronizedWithCurrentItem="True"  />
                                                </DataTemplate>
                                            </GridViewColumn.CellTemplate>
                                        </GridViewColumn>
     
     
                                </ListView.View>
                            </ListView>
    Mon ViewModel.Cs

    A l'ouverture
    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
     
    private ObservableCollection<Deperdition> _ListDeperdition
    public ObservableCollection<Deperdition> ListDeperdition
            {
                get
                {
                    return _ListDeperdition;
                }
                set
                {
                    if (value != _ListDeperdition)
                    {
                        _ListDeperdition = value;
     
                        OnPropertyChanged("ListDeperdition");
                    }
     
                }
            }
     public void ReloadMarqueRadiateurInListDerper()
            {
     
                    if (SelectedMarqueRadiateur !=null)
                    {
     
                        foreach (var item in ListDeperdition)
                        {
                            if (!item.SecheServiette)
                        {
                            item.ListMarque = ListMarqueRadiateur;
                            item.SelectedMarque = SelectedMarqueRadiateur;
     
                        }
     
                    }
                   }
            }
    mon Model
    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
     
     public class Deperdition
        {
     
            public static Action OnChanged;
     [XmlAttribute]
            public bool SecheServiette
            {
                get { return _SecheServiette; }
                set
                {
                    _SecheServiette = value;
     
                    OnChanged?.Invoke();
     
                }
            }
    public ObservableCollection<string> ListMarque
            {
                get { return _ListMarque; }
                set
                {
                    _ListMarque = value;
     
                  //  OnChanged?.Invoke();
     
                }
            }
    Ce que j'aurais voulu c'est que quand ma checkbox isChecked = true, c'est de changer mon ItemSource de ma combobox ListMarque
    de passer de ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     ListMarque = ListMarqueRadiateur;
     SelectedMarque = SelectedMarqueRadiateur;
    en ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     ListMarque = ListMarqueSS;
     SelectedMarque = SelectedMarqueSS;
    j'ai essayé avec le selectedItem du listview, ça ne marche pas il me fait une erreur type StackOVerFlow, j'ai essayé avec le OnChanged, cela ne marche pas non plus avec la même erreur.

    pourriez vous me donner un petit coup de main s'il vous plait

    PS : Je n'ai pas mis l'ensemble du code si vous voulez plus de détail demandez moi.

  2. #2
    Membre du Club
    Homme Profil pro
    Technicien d'étude
    Inscrit en
    Juin 2015
    Messages
    87
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Technicien d'étude

    Informations forums :
    Inscription : Juin 2015
    Messages : 87
    Points : 61
    Points
    61
    Par défaut
    Bon j'ai resolu tout seul en mettant un invojeactioncommand sur ma checkbox

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

Discussions similaires

  1. checkbox dans Listview
    Par CLion dans le forum C#
    Réponses: 1
    Dernier message: 18/09/2014, 00h28
  2. Problème checkbox dans listview
    Par Antri dans le forum ASP.NET
    Réponses: 5
    Dernier message: 04/05/2012, 21h34
  3. [WPF C#] Checkbox dans listview
    Par miky77 dans le forum Windows Presentation Foundation
    Réponses: 7
    Dernier message: 02/09/2011, 08h21
  4. Binding Checkbox dans une ListView
    Par Ashura95 dans le forum Windows Presentation Foundation
    Réponses: 12
    Dernier message: 18/10/2010, 16h50
  5. Binding objet et combobox dans listview
    Par warmy dans le forum Windows Presentation Foundation
    Réponses: 12
    Dernier message: 11/03/2009, 00h29

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