Wrap Panel в ListBox - PullRequest
       28

Wrap Panel в ListBox

0 голосов
/ 09 мая 2011

У меня есть следующий код 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 Ответ

5 голосов
/ 09 мая 2011

Я нашел решение.Вот мой рабочий код 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 определения.И я переместил панель обертки на него.

...