开发者

Wrap Panel in ListBox

开发者 https://www.devze.com 2023-03-04 05:05 出处:网络
I have the following XAML code: <DataTemplate x:Key=\"FriendsDataTemplate\"> <toolkit:WrapPanel Orientation=\"Horizontal\" ItemWidth=\"开发者_运维问答173\" ItemHeight=\"233\">

I have the following XAML code:

<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 width is 420px.

My problem is: I want two items column, but I see one.

Any advice?


I've found the solution. Here is my working XAML code:

<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>

I've added a ListBox.ItemsPanel inside ListBox definition. And I've moved wrap panel on it.

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号