GridView con 2 columnas, ancho de relleno
El resultado que quiero lograr es bastante simple, una lista con 2 columnas, ambas con el mismo ancho. En Windows Phone 7/8 esto podría lograrse fácilmente usando unListBox
con unWrapPanel
comoItemsPanel
y configurando elItemWidth
a 240 (ya que el ancho de la pantalla era 480).
Ahora estoy escribiendo una aplicación universal, pero aquí el problema es que no se garantiza que la pantalla tenga un ancho de 480 (ni siquiera para el teléfono), así que no puedo configurar elItemWidth
como quiero que llene el ancho de la pantalla. He podido lograr casi el efecto deseado usando lo siguienteXAML
:
<GridView ItemsSource="{Binding Results}" Margin="12">
<GridView.ItemTemplate>
<DataTemplate>
<Grid>
<Image Source="{Binding SampleImage}" />
</Grid>
</DataTemplate>
</GridView.ItemTemplate>
<GridView.ItemsPanel>
<ItemsPanelTemplate>
<WrapGrid MaximumRowsOrColumns="2" Orientation="Horizontal" HorizontalChildrenAlignment="Stretch" VerticalChildrenAlignment="Stretch">
</WrapGrid>
</ItemsPanelTemplate>
</GridView.ItemsPanel>
</GridView>
Lo que da el siguiente resultado:
Como se ve con éxito, da 2 columnas con el mismo ancho, PERO elGrid
en elGridView.ItemTemlate
no llena todo el ancho de cada columna. He intentado configurarHorizontalAlignment="Stretch"
tanto en esoGrid
y en elGridView
sin ningún éxito. Alguien tiene alguna idea de esto hacer esto?