<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition/>
<RowDefinition Height="40"/>
</Grid.RowDefinitions>
<c:SearchTextBox Grid.ColumnSpan="2" .../>
<ScrollViewer VerticalScrollBarVisibility="Auto" Grid.Row="1">
<ListBox
ItemsSource="{Binding Categories}"
IsSynchronizedWithCurrentItem="True"
... />
</ScrollViewer>
<!-- Here is what I'm talking about:-->
<ListBox ItemsSource="{Binding Products}"
IsSynchronizedWithCurrentItem="True" Grid.Column="1" Grid.Row="1">
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<WrapPanel />
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
</ListBox>
Lo que quiero es que los artículos en la columna de la derecha deben disponerse para llenar ancho de la ventana, y luego crear una nueva línea , eso es exactamente para lo que está hecho WrapPanel.
El problema es que el WrapPanel establece los elementos en una sola línea que muestra una barra de desplazamiento horizontal debajo mientras que todos los elementos están "ocultos" en el lado derecho que excede el tamaño de la ventana.WrapPanel expone artículos en una línea horizontal larga (que muestran barras de desplazamiento) en lugar de ajustar líneas
¿Cómo puedo evitar eso?
¿Qué sucede si elimina el scrollviewer? ¿los artículos aún se expanden hacia la derecha con un desplazamiento horizontal? – dcarneiro
@Daniel me entendiste mal ScrollViewer envuelve el primer ListBox. Hay 2 ListBoxes que representan un escenario de detalles maestros. El problema es con 2nd ListBox que usa WrapPanel como su ItemsPanelTemplate. – Shimmy