2009-07-13 7 views
3

Dans le fichier .NET 3.5 XAML suivant, si vous faites glisser la largeur de colonne de la colonne "Jour" plus large, le ListView augmente bien pour tenir compte de cela. Si vous faites ensuite glisser la largeur de la colonne plus étroite, la taille de la table reste la même.WPF ListView s'agrandit en réponse à la colonne de redimensionnement, mais ne rétrécit pas

Ce même problème existe aussi verticalement. Si certaines de vos colonnes ont un retour à la ligne, la table deviendra plus grande pour gérer cela, mais ne rétrécira pas.

Voici la partie vraiment goofy. Si vous supprimez la section ListView.ItemsSource, alors le ListView fonctionne comme vous le souhaitez! Pourquoi cela affecterait-il cela?

Des idées?

<Window x:Class="TestWpfTables.Window1" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    xmlns:s="clr-namespace:System.Collections;assembly=mscorlib" 
    xmlns:p="clr-namespace:System;assembly=mscorlib" 
    Title="Window1" Height="300" Width="300"> 
    <Grid> 
     <ListView HorizontalAlignment="Left"> 
      <ListView.View> 
       <GridView> 
        <GridViewColumn DisplayMemberBinding="{Binding Path=Day}" Header="Day" /> 
       </GridView> 
      </ListView.View> 
      <ListView.ItemsSource> 
       <s:ArrayList> 
        <p:DateTime>1990/1/1 12:22:02</p:DateTime> 
        <p:DateTime>1990/1/2 13:2:01</p:DateTime> 
        <p:DateTime>1990/1/5 2:1:6</p:DateTime> 
       </s:ArrayList> 
      </ListView.ItemsSource> 
     </ListView> 
    </Grid> 
</Window> 
+0

Que voulez-vous dire en supprimant la section ListView.ItemsSource? Le ListView est vide alors, non? Me rend fou, ne sais pas comment le faire se rétrécir non plus. –

Répondre

3

En général, tous les ItemsControls WPF sont « que grandir », ce qui signifie que nous faisons passer la mise en page initiale et ensuite, le contrôle ne ne redimensionner plus grande si le contenu change. La raison pour laquelle nous ne redimensionnons plus petit par défaut est qu'il nécessite une mesure coûteuse et organiser des laissez-passer, ce qui aurait un impact négatif sur les performances

ref: codeplex thread

+3

Alors, que se passe-t-il si cela a un impact négatif sur les performances? Cela peut entraîner une interface utilisateur inutilisable. Au moins donner l'option de réduire. – Paparazzi

Questions connexes