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 :

Virtualisation d'une listBox et groupStyle


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 10
    Par défaut Virtualisation d'une listBox et groupStyle
    Bonjour,
    J'ai une listView qui m'affiche les images contenues dans un dossier. Afin d'améliorer les performances je souhaite que ces images ne soient chargées que lorsqu'elles sont apparantes dans ma listView(). J'ai vu qu'il existe des méthodes de virtualisation propres à une listView.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <ListView SelectionMode="Extended"  x:Name="ListViewImage"
                  ItemsSource="{Binding Path=AllImages}"  Margin="0,20,0,0"
                  VirtualizingStackPanel.IsVirtualizing="True"
                  VirtualizingStackPanel.VirtualizationMode= "Recycling"
                 VirtualizingStackPanel.CleanUpVirtualizedItem="ListViewCleanUpVirtualizedItem">
     <ListView.ItemTemplate>
       <DataTemplate>
         <StackPanel Orientation="Horizontal" Height="25">
           <Image Source="{Binding Thumbnail}" />
         </StackPanel>
       </DataTemplate>
     </ListView.ItemTemplate>
    ce code fonctionne bien, et mes images ne s'affichent que lorsqu'elles sont apparentes dans la liste.
    Mon probleme est que j'utilise un GroupStyle afin de créer des groupes dans ma listView et que le fait d'ajouter le code suivant me désactive totalement la virtualisation de la listView.


    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
     
                    <ListView.GroupStyle>
                        <GroupStyle>
                            <GroupStyle.ContainerStyle >
                                <Style TargetType="{x:Type GroupItem}">
                                    <Setter Property="Template">
                                        <Setter.Value>
                                            <ControlTemplate TargetType="{x:Type GroupItem}" >
                                                <Expander x:Name="GroupExpander" IsExpanded="True" >
                                                    <Expander.Header>
                                                            <TextBlock >
                                                                <TextBlock.Text>
                                                                    <MultiBinding StringFormat=" {0} - {1} Elements">
                                                                        <Binding Path="Name"/>
                                                                    </MultiBinding>
                                                                </TextBlock.Text>
                                                            </TextBlock>
                                                    </Expander.Header>
                                                    <ItemsPresenter />
                                                </Expander>
                                            </ControlTemplate>
                                        </Setter.Value>
                                    </Setter>
                                </Style>
                            </GroupStyle.ContainerStyle>
                        </GroupStyle>
                    </ListView.GroupStyle>
    Est ce que quelqu'un aurait une solution afin d'optimiser le chargement des images?

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 10
    Par défaut
    En fait l'utilisation de groupStyle désactive la sérialisation. Du coup je vais devoir trouver une autre maniere de faire mes groupes.

Discussions similaires

  1. [MFC] Probleme d'actualisation d'une listbox
    Par Robleplongeur dans le forum MFC
    Réponses: 5
    Dernier message: 13/05/2004, 14h15
  2. [C#]Sauvegarde d'une selection multiple d'une listbox?
    Par onouiri dans le forum ASP.NET
    Réponses: 7
    Dernier message: 29/04/2004, 17h16
  3. Réponses: 3
    Dernier message: 25/03/2004, 11h35
  4. [debutant][servlet]erreur causée par une listBox
    Par omega dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 05/03/2004, 10h53
  5. Icône a coté du texte dans une ListBox
    Par joce3000 dans le forum C++Builder
    Réponses: 6
    Dernier message: 05/12/2003, 02h25

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