Lier la hauteur d'une ligne de grille à son contenu dans WPF

J'ai une grille avec quelques lignes. Dans la rangée du haut, j'ai un ItemsControl qui est lié dynamiquement à une collecte et utilise un DataTemplateSelector et ItemsPanelTemplate (avec un seul disposés horizontalement WrapPanel). Voici une version allégée de ce que j'ai à ce jour:

<Grid>
    <Grid.RowDefinitions>
        <RowDefinition Height="40" />
        <RowDefinition Height="2" />
        <RowDefinition Height="*" />
    </Grid.RowDefinitions>
    <GridSplitter Background="#666" Grid.Row="1" Height="Auto" Width="Auto" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" />
    <ItemsControl x:Name="items" Background="#DDD" Grid.Row="0" ItemTemplateSelector="{StaticResource itemTemplateSelector}">
        <ItemsControl.ItemsPanel>
            <ItemsPanelTemplate>
                <WrapPanel Orientation="Horizontal" />
            </ItemsPanelTemplate>
        </ItemsControl.ItemsPanel>
    </ItemsControl>
</Grid>

Au lieu de mettre que la première ligne de hauteur à 40, je tiens à le définir de façon dynamique en fonction de la hauteur minimale que le ItemsControl doit être adapté à l'ensemble de son contenu. Depuis le ItemsControl, la hauteur est limitée par la Ligne de la Grille de hauteur, je ne peux pas savoir à quel élément je dois être contraignant et à ce que l'élément de la propriété que je devrait être obligatoire.

Il serait judicieux de lier la Ligne de la Grille de Hauteur à la "hauteur" de la ItemsControl. Donc, j'ai trouvé le DesiredSize propriété et lié mon RowDefinition Height de la de la ItemsControl de DesiredSize.Hauteur de. Qui fonctionne quand il charge, mais ne met pas à jour comme je l'ai redimensionner le contrôle (n'oubliez pas, je suis en utilisant un WrapPanel que mon ItemsPanelTemplate, donc, comme je le redimensionnement de la fenêtre, la hauteur de la ItemsControl doit être en train de changer).

Personne ne sait si ce genre de situation est encore pris en charge par le cadre contraignant, ou aurais-je besoin d'ajouter un gestionnaire d'événements de code pour accomplir cette?

Grâce.

source d'informationauteur Rich