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>

questionAnswers(1)

yourAnswerToTheQuestion