ListBox中的Wrap面板

时间:2011-05-09 16:06:55

标签: windows-phone-7 wrappanel

我有以下XAML代码:

<DataTemplate x:Key="FriendsDataTemplate">
    <toolkit:WrapPanel Orientation="Horizontal" ItemWidth="173" ItemHeight="233">
        <Grid VerticalAlignment="Top" HorizontalAlignment="Right">
            <Grid.RowDefinitions>
                <RowDefinition Height="183"/>
                <RowDefinition Height="50"/>
            </Grid.RowDefinitions>
            <Image x:Name="FriendAvatar" Margin="1,1,11,11" Source="{Binding ImageURL}" Width="173" Height="173"/>
            <Grid Grid.Row="1" HorizontalAlignment="Right" VerticalAlignment="Top">
                <TextBlock x:Name="FriendName" Margin="0" Text="{Binding FriendName}" Grid.Row="1" TextWrapping="Wrap" VerticalAlignment="Center" HorizontalAlignment="Center" Padding="0,0,10,0" TextAlignment="Right"/>
            </Grid>
        </Grid>
    </toolkit:WrapPanel>
</DataTemplate>

<Grid x:Name="FriendsGrid">
    <ListBox x:Name="FriendsList" Margin="0" ItemTemplate="{StaticResource FriendsDataTemplate}"/>
</Grid>

FriendsList宽度为420px。

我的问题是:我想要两个项目列,但我看到了一个。

有什么建议吗?

1 个答案:

答案 0 :(得分:5)

我找到了解决方案。这是我正在使用的XAML代码:

<DataTemplate x:Key="FriendsDataTemplate">
    <Grid VerticalAlignment="Top" HorizontalAlignment="Right">
        <Grid.RowDefinitions>
            <RowDefinition Height="183"/>
            <RowDefinition Height="50"/>
        </Grid.RowDefinitions>
        <Image x:Name="FriendAvatar" Margin="1,1,11,11" Source="{Binding ImageURL}" Width="173" Height="173"/>
        <Grid Grid.Row="1" HorizontalAlignment="Right" VerticalAlignment="Top">
            <TextBlock x:Name="FriendName" Margin="0" Text="{Binding FriendName}" Grid.Row="1" TextWrapping="Wrap" VerticalAlignment="Center" HorizontalAlignment="Center" Padding="0,0,10,0" TextAlignment="Right"/>
        </Grid>
    </Grid>
</DataTemplate>

<Grid x:Name="FriendsGrid">
    <ListBox x:Name="FriendsList" Margin="0" ItemTemplate="{StaticResource FriendsDataTemplate}" Width="420">
        <ListBox.ItemsPanel>
            <ItemsPanelTemplate>
                <toolkit:WrapPanel ItemWidth="173" ItemHeight="233"/>
            </ItemsPanelTemplate>
        </ListBox.ItemsPanel>
    </ListBox>
</Grid>

我在ListBox.ItemsPanel内定义了ListBox。我已经在上面移动了包装面板。