WPF ListView powiększa się w odpowiedzi na zmianę rozmiaru kolumny, ale nie zmniejsza się
W poniższym .NET 3.5 XAML, jeśli przeciągniesz szerokość kolumny w kolumnie „Dzień” szerszym, ListView ładnie się rozwinie, aby to uwzględnić. Jeśli jednak przeciągniesz szerokość kolumny węższą, stół pozostanie taki sam jak był.
Ten sam problem istnieje również w pionie. Jeśli niektóre z twoich kolumn zawierają zawijanie słów, tabela będzie wyższa, aby to obsłużyć, ale potem nie zmniejszy się.
Oto naprawdę głupia część. Jeśli usuniesz sekcję ListView.ItemsSource, to ListView działa zgodnie z oczekiwaniami! Dlaczego miałoby to na to wpłynąć?
Jakieś pomysły?
<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>