Tengo una cuadrícula con algunas filas. En la fila superior, tengo un ItemsControl que está vinculado dinámicamente a una colección y utiliza un DataTemplateSelector y ItemsPanelTemplate (con un único WrapPanel dispuesto horizontalmente). Aquí hay una versión reducida de lo que tengo hasta ahora:Enlaza la altura de una fila de cuadrícula con su contenido en WPF
<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>
En lugar de establecer la altura de la primera fila a 40, me gustaría configurarlo dinámicamente en función de la altura mínima que ItemsControl debe ser para encajar todos sus contenidos Como la altura de ItemsControl está limitada por la altura de la fila de cuadrícula, no puedo determinar qué elemento debo vincular y a qué propiedad del elemento debo vincularlo.
Tendría sentido vincular la Altura de la Fila de la Grilla a la "altura deseada" de ItemsControl. Entonces, encontré la propiedad DesiredSize y até la Altura de mi RowDefinition al DesiredSize.Height de ItemsControl. Eso funciona cuando se carga por primera vez, pero no se actualiza a medida que cambio el tamaño del control (recuerde, estoy usando un WrapPanel como ItemsPanelTemplate, así que al redimensionar la ventana, la altura de ItemsControl debería cambiar).
¿Alguien sabe si este tipo de situación incluso es compatible con el marco vinculante, o tendría que agregar el código del controlador de eventos para lograr esto?
Gracias.
Sí ... a veces la solución simple sólo le escapa . Gracias – Rich