¿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>