2009-09-15 4 views
0

J'ai une listview avec plusieurs lignes, le problème est que même si la barre de défilement verticale est visible, cela ne fonctionne pas, j'explique, il semble que parce que la hauteur de la grille est Auto, alors il n'y a pas de hauteur maximale et tout le contenu est affiché, même si une partie de celui-ci n'est pas visible, la seule solution partielle que j'ai trouvé est de définir la hauteur des pixels à la grille, comme 600 de la listview, mais évidemment ce n'est pas une très bonne solution puisque je voudrais que la hauteur soit définie par son conteneur, j'ai essayé de lier la propriété height à ActualHeight du TabItem, mais ça ne marche pas non plus, je suis désespérée, donc si quelqu'un sait comment résoudre ce problème, je serais très reconnaissant, merci d'avance.WPF Ajuster la hauteur de la grille en fonction du contenu de la listview

Voici ci-dessous le code que j'utilise.

<TabItem Header="Orders"> 
    <Grid Height="Auto"> 
     <ScrollViewer> 
       <ListView ScrollViewer.VerticalScrollBarVisibility="Visible" 
         ScrollViewer.CanContentScroll="True" > 
       </ListView> 
      </ScrollViewer> 
    </Grid> 
</TabItem> 

Répondre

0

Je crois que le problème pourrait être que vous avez une visionneuse de défilement entourant une commande (ListView) qui a construit dans le viewer de défilement. Essayez de supprimer le ScrollViewer externe.

0

en fait le listview a construit dans la visionneuse de défilement si je l'ai enlevé, mais le problème persiste de la même manière, maintenant je donne les résultats suivants:

<TabItem Header="Orders"> 
    <Grid Height="Auto" Margin="0,0,0,0"> 
      <ListView ItemsSource="{Binding}" HorizontalAlignment="Stretch" 
        x:Name="listViewOrdenes" 
        ScrollViewer.VerticalScrollBarVisibility="Visible"> 
      </ListView> 
    </Grid> 
</TabItem> 
+0

poste Dont des réponses non désirées, mettre à jour dans votre question. – Sauron

1

Je pense que le problème est votre taille = » Auto "augmente la grille pour afficher toutes les lignes.
Définir vos hauteur de ligne de grille et la largeur * avec des moyens de remplir conteneur (l'onglet)

<Grid.RowDefinitions> 
     <RowDefinition Height="*"></RowDefinition> 
    </Grid.RowDefinitions> 
    <Grid.ColumnDefinitions> 
     <ColumnDefinition Width="*"></ColumnDefinition> 
    </Grid.ColumnDefinitions> 
    <Listview Grid.Row="0" Grid.Column="0" /> 
Questions connexes