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] listview at combobox


Sujet :

Windows Presentation Foundation

  1. #1
    Inscrit
    Inscrit en
    Juin 2007
    Messages
    161
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 161
    Points : 60
    Points
    60
    Par défaut [WPF] listview at combobox
    Salut,

    j'ai fait un listView dans une fenêtre wpf contenant des textbox et ça marche très bien.

    je veux mettre un combobox à la place du textbox l'ajout c'est fait mais le probleme régide dans la mise en place de la liste contenu dans le combobox.
    (la liste a partir duquel l'utilisateur doit choisir un element).

    Merci.

  2. #2
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Points : 19 434
    Points
    19 434
    Par défaut
    Oui mais quel est le pb ?

  3. #3
    Inscrit
    Inscrit en
    Juin 2007
    Messages
    161
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 161
    Points : 60
    Points
    60
    Par défaut
    Salut,

    Le problème réside dans la mise en place de la liste contenue dans le combobox a partir de la quelle l'utilisateur peut choisir un élément.

  4. #4
    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
    Points : 3 015
    Points
    3 015
    Par défaut
    Salut,

    Une ComboBox se remplit via la propriété ItemsSource par exemple. Ex :
    Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
    maComboBox.ItemsSource = new ObservableCollection<string>() { { "Item1" }, { "Item2" } };

  5. #5
    Inscrit
    Inscrit en
    Juin 2007
    Messages
    161
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 161
    Points : 60
    Points
    60
    Par défaut
    Désolé, il parait que j'ai pas bien expliqué ma question.

    Le problème c'est que je peux pas identifier le combobox contenu dans un listview au niveau du fichier .xaml.cs

    le code xaml est le suivant:

    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
     
    <Window x:Class="Telnet.hcTT.MeetingReportPlugin.winSamplePlugin"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="Compte Rendu de réunion MOM" Height="694" Width="787">
        <Window.Resources>
     
            <DataTemplate x:Key="trigrammeTemplate">
                <ComboBox Text="{Binding Path=Trigramme}" Width="100" Name="comboBoxTrigramme"></ComboBox>
            </DataTemplate>
     
     
        </Window.Resources>
        <Grid>
    <ListView ItemsSource="{Binding}" Margin="10,10,10,10" Name="listViewParticipant" Height="374" Width="472" Canvas.Left="33" Canvas.Top="13">
     
     
                            <ListView.View>
                                <GridView ColumnHeaderTemplate="{StaticResource BlueHeader}">
     
                                    <GridViewColumn Header="Trigramme" CellTemplate="{StaticResource trigrammeTemplate}" />
                                </GridView>
                            </ListView.View>
                        </ListView>
    </Grid>
    </Window>
    Au niveau du fichier .xaml.cs je peux pas voir le combobox contenu dans la listview.

    Merci pour votre aide.


  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Février 2007
    Messages
    196
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 196
    Points : 106
    Points
    106
    Par défaut
    Tu peux passer par l'événement Initialized ou Loaded de la combobox et ainsi y accéder via le paramètre sender.


    Sinon j'utilise personnellement le code suivant pour accéder à une checkbox générée de la même façon :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    ListViewItem lvi = lv_element2.ItemContainerGenerator.ContainerFromIndex(i) as ListViewItem;
                    ContentPresenter cp = lvi.FindVisualChild<ContentPresenter>();
                    CheckBox cb = cp.ContentTemplate.FindName("chkb_relation", cp) as CheckBox;
    Où lv_element2 est ma ListView, i est l'index de la ligne qui m'intéresse dans mon ListView, et chkb_relation est la valeur de l'attribut name dans le DataTemplate utilisé comme CellTemplate

  7. #7
    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
    Points : 3 015
    Points
    3 015
    Par défaut
    Ok. Je me disais bien que ça devait être plus compliqué que ça

    Tu devrais pouvoir passer par un ObjectDataProvider :
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <Window.Resources>
      <ObjectDataProvider x:Key="odpCombo" />
     
      <DataTemplate x:Key="trigrammeTemplate">
        <ComboBox DataContext={Binding Source={StaticResource odpCombo}} ItemsSource="{Binding}" Width="100" Name="comboBoxTrigramme"></ComboBox>
      </DataTemplate>
     
    </Window.Resources>

    Et dans le code C#, tu récupères ton ObjectDataProvider et tu le défini avec ta liste d'items que tu veux voir dans ta ComboBox :
    Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    ObservableCollection<string> obsCombo = 
        new ObservableCollection<string>() { { "Item1" }, { "Item2" } };
     
    ObjectDataProvider odpCombo = this.FindResource( "odpCombo" ) as ObjectDataProvider;
    if( odpCombo != null ){
      odpCombo.ObjectInstance = obsCombo;
    }

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Février 2007
    Messages
    196
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 196
    Points : 106
    Points
    106
    Par défaut
    @binoo : à condition de vouloir la même liste dans toutes ses combobox.

  9. #9
    Inscrit
    Inscrit en
    Juin 2007
    Messages
    161
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 161
    Points : 60
    Points
    60
    Par défaut
    Merci le problème est résolu.



  10. #10
    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
    Points : 3 015
    Points
    3 015
    Par défaut
    Citation Envoyé par Nalfeim Voir le message
    @binoo : à condition de vouloir la même liste dans toutes ses combobox.
    Exact

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

Discussions similaires

  1. [WPF] textbox ou combobox dans un listview
    Par modafine dans le forum Windows Presentation Foundation
    Réponses: 5
    Dernier message: 14/08/2008, 10h37
  2. [WPF] Listview tri et databinding
    Par Jérem22 dans le forum Windows Presentation Foundation
    Réponses: 9
    Dernier message: 26/09/2007, 14h08
  3. [WPF]DataTrigger sur ComboBox
    Par guitoux1 dans le forum Windows Forms
    Réponses: 11
    Dernier message: 20/06/2007, 10h31
  4. [VB6][ListView] ListView et ComboBox
    Par gwendo dans le forum VB 6 et antérieur
    Réponses: 9
    Dernier message: 01/06/2007, 18h49
  5. [C#]ListView et combobox
    Par fafa139 dans le forum Windows Forms
    Réponses: 3
    Dernier message: 22/05/2006, 09h49

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