Comment voulez-vous garder la fenêtre WPF taille de contenu avec un Expandeur après redimensionnement

J'ai une fenêtre WPF avec SizeToContent="Height". Cette fenêtre contient une <Expander /> qui affiche une liste des activités récentes. Ce que j'aimerais c'est lorsque l'extenseur est agrandi la fenêtre augmente la taille proportionnellement. Lorsqu'elle est cachée à nouveau la fenêtre est redimensionnée proportionnellement. Si la fenêtre est redimensionnée le réceptacle et c'est contenue affichage de la liste devrait croître à utiliser le nouvel espace. (ne vous occupez pas des couleurs il y a là, pour m'aider à comprendre cela):

Vue Normale

le texte d'alt http://www.deploylx.com/so/wpfexpander/Open.png

S'est effondré

le texte d'alt http://www.deploylx.com/so/wpfexpander/Closed.png

Redimensionnée à nouveau l'espace

le texte d'alt http://www.deploylx.com/so/wpfexpander/Expanded.png

Jusqu'à présent cela fonctionne très bien. Le problème vient quand la <Expander /> est effondré après la fenêtre est redimensionnée. Plutôt que la fenêtre s'effondrer à nouveau, la liste est tout simplement caché:

S'est effondré après Redimensionnement

le texte d'alt http://www.deploylx.com/so/wpfexpander/Collapsed.png

Mon intuition me dit que le Height de la fenêtre est définie lorsque la fenêtre est redimensionnée et remplace donc le SizeToContent de la propriété. Alors, comment puis-je obtenir la fenêtre pour en garder une taille au contenu de comportement après avoir été redimensionnée?

Actuel XAML:

<Window x:Class="DeployLX.Licensing.Nlm.Admin.v3.DashboardWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Dashboard" Width="504" SizeToContent="Height" Height="275">
<DockPanel>
<Menu DockPanel.Dock="Top">
<MenuItem Header="_File">
<MenuItem Header="E_xit" Command="{Binding Path=CloseCmd}" />
</MenuItem>
</Menu>
<Grid DockPanel.Dock="Top" Margin="8" ShowGridLines="True">
<Grid.RowDefinitions>
<RowDefinition />
<RowDefinition />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<Grid Grid.RowSpan="2" Grid.Row="0" Grid.Column="0" Margin="0,0,8,0">
<Rectangle Fill="Red" />
<TextBlock>ActiveCount</TextBlock>        
</Grid>
<Grid Grid.Row="0" Grid.Column="1" Margin="0,0,0,4">
<Rectangle Fill="Green" />
<TextBlock>Authorization</TextBlock>
</Grid>
<Grid Grid.Row="1" Grid.Column="1" Margin="0,4,0,0">
<Rectangle Fill="Blue" />
<TextBlock>Authorization</TextBlock>
</Grid>      
</Grid>
<Expander Header="Recent Activity" Margin="8" IsExpanded="True">
<ListView IsSynchronizedWithCurrentItem="True" MinHeight="100">
<ListView.View>
<GridView>
<GridViewColumn Header="Status"/>
</GridView>
</ListView.View>
</ListView>
</Expander>
</DockPanel>
</Window>

Mise à JOUR: j'ai essayé d'écouter l'effondrement de l'événement de l'expandeur et la réinitialisation de la Windows SizeToContent de la propriété. Cela fonctionne presque. Il entraînera l'effondrement de nouveau la fenêtre, mais quand élargi encore, il va revenir à l'original de 100 pixels de hauteur. Alors qu'il est possible de stocker et de capturer cette info ça sent hacky et sujettes à erreurs.