Результат, который я хочу достичь, довольно прост, список из 2 столбцов, имеющих равную ширину. В Windows Phone 7/8 это может быть легко достигнуто с помощью ListBox с WrapPanel как ItemsPanel и установки ItemWidth в 240 (поскольку ширина экрана равна 480).
Теперь я пишу универсальное приложение, но здесь проблема заключается в том, что на экране не гарантируется ширина 480 (даже не для телефона), поэтому я не могу установить ItemWidth как я хотите, чтобы он заполнил ширину экрана. Я смог добиться почти желаемого эффекта, используя следующий XAML:
<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>
Что дает следующий результат:

Как видно, он успешно дает 2 столбца с равной шириной, НО Grid в GridView.ItemTemlate не заполняет всю ширину каждого столбца. Я попытался установить HorizontalAlignment="Stretch" как на Grid, так и на GridView без каких-либо успехов. Кто-нибудь имеет представление об этом?
