¿Cómo hacer que los elementos secundarios de WPF wrappanel se estiren?

Me gustaría crear unaItemsControl donde los elementos secundarios se colocan como unWrapPanel, pero los elementos secundarios deberían ocupar tanto espacio como sea posible. De modo que cuando el tamaño de la ventana se hace más grande o más pequeño, los elementos secundarios deben estirarse de acuerdo con un cierto ancho: relación de altura. Cuando los elementos secundarios se agregan o eliminan de laItemsControl 'sItemsSource, elWrapPanel debe colocar saltos de línea entre los elementos de manera adecuada para mantener la relación ancho: alto del elemento secundario.
Abajo es lo que tengo hasta ahora. ¿Es posible hacer esto en Xaml? o debería crear un control personalizado para esto? ¡Gracias por adelantado

<Window>
<Grid>
    <ItemsControl ItemsSource="{Binding DataCollection}">
       <ItemsControl.ItemsPanel>
          <ItemsPanelTemplate>
             <WrapPanel Orientation="Vertical"/>
          </ItemsPanelTemplate>
       </ItemsControl.ItemsPanel>
       <ItemsControl.ItemTemplate>
          <DataTemplate>
             <Border BorderBrush="Black" BorderThickness="1" HorizontalAlignment="Stretch">
                <StackPanel Orientation="Horizontal" >
                   <TextBlock TextWrapping="Wrap" Text="{Binding Name}" />
                   <TextBlock TextWrapping="Wrap" Text="{Binding Value}"/>
                   <TextBlock TextWrapping="Wrap" Text="{Binding Time,  StringFormat='hh:mm:ss' }"/>
                </StackPanel>
             </Border>          
         </DataTemplate>
       </ItemsControl.ItemTemplate>
    </ItemsControl>
</Grid>
</Window>

Respuestas a la pregunta(4)

Su respuesta a la pregunta