¿Cómo hago un estiramiento de ItemsControl para llenar todo el espacio disponible?

Tengo un ItemsControl, con su ItemsSource vinculado a una lista de elementos. El tamaño de cada uno de los elementos es lo más pequeño posible, lo que necesito es que el control y los elementos en el control se estiren para adaptarse a todo el espacio disponible.

Intenté establecer VerticalAlignment en Stretch tanto en el control como en sus elementos (usando un estilo). También intenté envolver el ItemsControl en un DockPanel y acoplar el ItemsControl a la parte inferior. ¿Cómo hago para cambiar el tamaño dinámico de ItemsControl?

También algunas, pero no todas, las visibilidades del elemento están configuradas como Contraídas (a través del mismo estilo). ¿Será eso un factor en cómo se debe hacer esto?

<DockPanel HorizontalAlignment="Stretch">
    <ItemsControl DockPanel.Dock="Bottom"
                    ItemsSource="{Binding Owner.LoadPointCharts}"
                    HorizontalAlignment="Stretch"
                    x:Name="ItemsControl">
        <ItemsControl.ItemContainerStyle><!--Height="{Binding Path=Height, RelativeSource={RelativeSource AncestorType={x:Type DockPanel}}}"-->
            <Style TargetType="ContentPresenter">
            <Setter Property="VerticalAlignment"
                    Value="Stretch" />

                <Setter Property="Visibility">
                <Setter.Value>
                    <MultiBinding Converter="{StaticResource CompareIndexToVisibilityConverter}">
                        <Binding Path="Index" />
                        <Binding Path="SelectedIndex" />
                    </MultiBinding>
                </Setter.Value>
            </Setter>
            </Style >
        </ItemsControl.ItemContainerStyle>
        </ItemsControl>
</DockPanel> 

Respuestas a la pregunta(4)

Su respuesta a la pregunta