Как сделать так, чтобы дочерние элементы WPF wrappanel растягивались?

Я хотел бы создать ItemsControl , где дочерние элементы размещаются как WrapPanel , но дочерние элементы Предметы должны занимать как можно больше места. Таким образом, когда размер окна становится больше или меньше, дочерние элементы должны растягиваться в соответствии с определенным соотношением ширины и высоты. Когда дочерние элементы добавляются или удаляются из ItemsControl ItemsSource , WrapPanel должен размещать перенос строки между элементами соответствующим образом, чтобы сохранить соотношение ширины и высоты дочернего элемента.
Вот то, что у меня есть на данный момент. Можно ли это сделать в Xaml? или я должен создать для этого настраиваемый элемент управления? Заранее спасибо!

<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>
15
задан Yeonho 16 November 2011 в 00:24
поделиться