2

我创建了一个 GridView 界面,其中包含不同大小的图块(如 Windows 开始屏幕)。如何在每个图块上以不同的方式定位控件?我的代码目前如下所示:

                <DataTemplate>
                <Grid Height="500" Width="1000">
                    <Grid.Background>
                        <SolidColorBrush Color="{Binding TileColor}"/>
                    </Grid.Background>
                    <StackPanel VerticalAlignment="Top">
                        <TextBlock Foreground="{Binding TextColor}" FontSize="25" TextWrapping="Wrap" Text="{Binding Title}" Margin="10,10,720,0"/>
                    </StackPanel>
                    <StackPanel VerticalAlignment="Bottom">
                        <TextBlock Foreground="{Binding TextColor}" FontSize="20" TextWrapping="Wrap" Text="{Binding Subtitle}" Height="334" Margin="10,0,336,15" RenderTransformOrigin="0.497,0.59"/>
                    </StackPanel>
                </Grid>
            </DataTemplate>

但由于不同的瓷砖高度,它没有正确布局。有没有办法可以定义多个 ItemTemplates?

谢谢

4

1 回答 1

3

您可以创建多个数据模板,然后您需要使用 DataTemplateSelector 将它们映射到您的图块。我认为这篇文章将完美地回答你的问题!

http://visualstudiomagazine.com/articles/2012/08/06/multiple-item-templates-in-windows-phone.aspx

于 2012-09-27T07:26:30.780 回答