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 listview wpf


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juin 2013
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Juin 2013
    Messages : 25
    Par défaut binding listview wpf
    Bonjour,
    Voila j'ai commencer une petite appli en wpf et je me heurte à quelque chose qui m'était encore inconnu, la listview.
    J'ai plusieurs questions:
    1-Je voudrait binder une list de type classe qui ce trouve dans un fichier classe en public static.
    Est ce possible ,dois je forcément passer par une observableCollection et si c'est le cas il y a t'il quelque chose à rajouter dans le xaml pour lui indiquer ou se trouve cette collection?
    2-Une fois les donnée binder dans ma listView j'aimerais rajouter des checkbox pour chaque item de cette liste.Est ce possible et si oui avez vous un petit exemple
    Voici la structure actuelle de mon application:
    fichier sauvegarde.cs = COntient ma classe et actuellement une simple liste en static
    MainPage.xaml.cs=Contient pour le moment juste des ajout en brut dans la liste de classe sauvegarde
    mainPage.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
    <Window x:Class="projetTorchwoodFinal.MainWindow"
            xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
            xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
            DataContext="{Binding RelativeSource={RelativeSource Self}}"
            Title="MainWindow" Height="412" Width="695">
        <Grid>
            <ListView ItemsSource="{Binding Sauvegarde.lesSauvegardes}" HorizontalAlignment="Left" Height="287" Margin="34,33,0,0" VerticalAlignment="Top" Width="536">
                <ListView.View>
                    <GridView>
     
                        <GridViewColumn Width="140" Header="Nom de la sauvegarde" 
                  DisplayMemberBinding="{Binding namesave}"  />
                        <GridViewColumn Width="140" Header="Chemin source"  
                  DisplayMemberBinding="{Binding fsource}" />
                        <GridViewColumn Width="140" Header="Chemin destination" 
                  DisplayMemberBinding="{Binding fdest}" />
                        <GridViewColumn Width="140" Header="Type" 
                  DisplayMemberBinding="{Binding typesave}" />
                        <GridViewColumn Width="140" Header="Frequence" 
                  DisplayMemberBinding="{Binding frequence}" />
                        <GridViewColumn Width="140" Header="Compression" 
                  DisplayMemberBinding="{Binding compression}" />
                        <GridViewColumn Width="140" Header="date" 
                  DisplayMemberBinding="{Binding dateDerniereSauvegarde}" />
                    </GridView>
                </ListView.View>
            </ListView>
     
        </Grid>
    </Window>
    merci d'avance

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Pour le point 1 oui c'est possible de binder une liste statique, et même un objet statique d'une manière générale.
    Pour ce faire :
    - Dans les attributs de ta balise "Window", commence à taper "xmlns:src=". A ce moment-là il va te proposer des couples de Assembly/Namespace. Choisit le couple assembly/Namespace dans lequel se trouve ta classe de sauvegarde. Une fois que c'est fait, tu pourras référencer tout ce que tu veux dans le xaml qui fait partie du namespace correspondant, tu auras en fait associé ce namespace à "src" dans le code xaml.
    - Dans la balise du listView, l'attribut de "ItemsSource" est alors :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ItemsSource="{x:Static src:Sauvegarde.lesSauvegardes}"
    Et ça devrait être bon.

    Pour le point 2, je t'avoue que je ne sais pas, il faudra que je fasse des essais, désolé.

  3. #3
    Membre averti
    Inscrit en
    Juin 2013
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Juin 2013
    Messages : 25
    Par défaut
    Encore merci Sa marche impec.
    J'ai trouver quelques liens pour les checkbox mais rien de très concluant.
    Une question rapide l'utilisation de l'attribut Static dans itemsource change quoi par rapport à binding ?

  4. #4
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par lucdef Voir le message
    Encore merci Sa marche impec.
    J'ai trouver quelques liens pour les checkbox mais rien de très concluant.
    Une question rapide l'utilisation de l'attribut Static dans itemsource change quoi par rapport à binding ?
    Binding c'est pour désigner un membre par rapport au "DataContext" actuel, statique, c'est pour faire référence à un membre statique, et qui, entre autre, ne dépend pas du "DataContext".
    D'ailleurs, il est aussi possible de déclarer dans le xaml une ressource, à laquelle tu peux faire référence avec "StaticResource".

    N'hésites pas à consulter la doc MSDN pour ces sujets. Regarde ici par exemple.

  5. #5
    Membre averti
    Inscrit en
    Juin 2013
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Juin 2013
    Messages : 25
    Par défaut
    Encore merci pour le lien
    Concernant les checkbox j'avais trouvé un lien qui indiquait que listview avait un champs qui permettait d'activer cette fonction mais cela ne semble pas être le cas pour une wpf.
    J'avais une autre question:Il y a t'il un moyen d'autoriser la multiselection et par conséquent parcourir les index sélectionnée comme pour checkboxs.

  6. #6
    Invité
    Invité(e)
    Par défaut
    Bien sûr qu'il est possible de faire de la multiselection, il y a une propriété qui le fait mais je ne me rappelle plus laquelle...

Discussions similaires

  1. Frozen column listview wpf
    Par aurel_le_ouf dans le forum Windows Presentation Foundation
    Réponses: 2
    Dernier message: 19/08/2010, 11h21
  2. Pbm Binding Datagridview WPF (& LINQ)
    Par cr0mat dans le forum Windows Presentation Foundation
    Réponses: 2
    Dernier message: 13/12/2009, 22h47
  3. binding ListView au contenu d'un tableau
    Par bellak dans le forum Windows Presentation Foundation
    Réponses: 18
    Dernier message: 21/08/2009, 00h38
  4. binding et wpf sur listbox
    Par MarioKart dans le forum Windows Presentation Foundation
    Réponses: 2
    Dernier message: 28/07/2009, 19h39
  5. Binding listView et objet d'une classe dans une autre classe
    Par warmy dans le forum Windows Presentation Foundation
    Réponses: 1
    Dernier message: 09/06/2009, 14h26

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