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 :

Listview débordant de la fenêtre


Sujet :

Windows Presentation Foundation

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    196
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 196
    Par défaut Listview débordant de la fenêtre
    Bonjour

    Petit soucis niveau affichage : j'ai une fenêtre à la hauteur fixe qui contient un certain nombre d'élément empilé dans un stackpanel, dont une listview. Lorsque celle-ci (alimentée par la base) est bien remplie, tout ce qui dépasse du bord de la fenêtre disparait. Par exemple tous les éléments sous la liste, voir un bout de la liste.

    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
     
    <Window...>
     
     
        <Border Style="{StaticResource Border_Window_IZI}">
            <StackPanel>
     
                <StackPanel.Resources>
                 ...
                </StackPanel.Resources>
     
                <TabControl Name="tc_relations">
     
                    <TabItem Header="Objets" Tag="element1"">
                        <StackPanel>
                            <ComboBox Name="cb_element1" ... />
                            <ListView Name="lv_element2" 
                                      ItemsSource="{Binding}">
                                <ListView.View>
                                    <GridView AllowsColumnReorder="true">
                                       ...
                                    </GridView>
                                </ListView.View>
                            </ListView>
                        </StackPanel>                    
                    </TabItem>          
     
                    <TabItem Header="Modèles" Tag="element2"
                     ...        
                    </TabItem>
     
                </TabControl>
     
                <Grid HorizontalAlignment="Stretch">
                <!-- Boutons -->              
                </Grid>
     
            </StackPanel>
        </Border>
    </Window>
    Idéalement, je préférerai que la liste se contente de la palce disponible et fasse apparaitre une scrollbar au besoin.
    J'ai essayé de coller des cliptobounds, scrollviewer un peu de partout, de remplacer le stackpanel par un dockpanel... ya toujours un morceau qui dépasse et disparait, et aucune scrollbar n'apparait.

  2. #2
    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
    Par défaut
    C'est le comportement dérangeant du StatckPanel .

    Après si tu mets un ScrollViewer autour du StackPanel, ça devrait aller je pense.

    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <ScrollViewer ScrollViewer.VerticalScrollBarVisibility="Auto">
     
    </ScrollViewer>

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    196
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 196
    Par défaut
    Visiblement le ScrollViewer s'ajuste plutôt à son contenu qu'à son contenant. Bref, en Auto on ne le voit pas, en Visible il est bien la où il faut mais ya rien à scroller vu que toute la listview s'affiche quand même (et déborde).

    Je ne comprends pas que ClipsToBound ne marche pas, c'est fait pour ça non ?

  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
    Par défaut
    Salut,

    pour ClipToBound, je ne sais pas je l'ai jamais utilisé... Je l'ai seulement vu utilisé avec un Canvas.


    Citation Envoyé par Nalfeim
    Visiblement le ScrollViewer s'ajuste plutôt à son contenu qu'à son contenant. Bref, en Auto on ne le voit pas, en Visible il est bien la où il faut mais ya rien à scroller vu que toute la listview s'affiche quand même (et déborde).
    Au pire utilise une Grid avec des lignes :
    Code xml : 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
    <ScrollViewer ScrollViewer.VerticalScrollBarVisibility="Auto">
      <Grid>
        <Grid.RowDefinitions>
          <RowDefinition Height="30" />
          <RowDefinition />
        </Grid.RowDefinitions>
     
        <ComboBox Grid.Row="0" Name="cb_element1" ... />
        <ListView Grid.Row="1" Name="lv_element2" 
                      ItemsSource="{Binding}">
          <ListView.View>
            <GridView AllowsColumnReorder="true">
              ...
            </GridView>
          </ListView.View>
        </ListView>
      </Grid>
    </ScrollViewer>

    Au pire essaie de remplacer le StackPanel par un WrapPanel...

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    196
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 196
    Par défaut
    Mwai. A ce prix là, autant mettre un maxheight ajusté à la main.

    Allez, la flemme a parlé. Merci quand même.

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

Discussions similaires

  1. GroupBox et ListView dépassant de la fenêtre
    Par Arnard dans le forum Windows Presentation Foundation
    Réponses: 2
    Dernier message: 24/02/2009, 10h09
  2. Fenêtre principale et secondaire
    Par FranT dans le forum Composants VCL
    Réponses: 9
    Dernier message: 31/07/2002, 19h25
  3. Créer une fenêtre flottante qui ne peut avoir le focus
    Par BestofMac dans le forum Composants VCL
    Réponses: 4
    Dernier message: 17/07/2002, 10h46
  4. pb fenêtre MDI
    Par dédé dans le forum C++Builder
    Réponses: 7
    Dernier message: 08/06/2002, 18h41
  5. icône d'une fenêtre fille
    Par bastien dans le forum C++Builder
    Réponses: 6
    Dernier message: 27/05/2002, 13h46

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