在wp7中根据文本大小更改UI

时间:2012-03-21 06:23:56

标签: windows-phone-7 listbox listitem

<ListBox Margin="0,2,0,0"   SelectionChanged="OnSelectionChanged" ScrollViewer.VerticalScrollBarVisibility="Disabled" x:Name="lstUcpPanel" ItemContainerStyle="{StaticResource myContainerStyle}">


            <ListBox.ItemsPanel>
                <ItemsPanelTemplate>
                    <toolkit:WrapPanel Width="Auto" Height="Auto"  Margin="-7,-8,-7,0"  ItemWidth="246" />
                </ItemsPanelTemplate>
            </ListBox.ItemsPanel>


            <ListBox.ItemTemplate>
                <DataTemplate>
                    <Border  BorderThickness="1"  Margin="3.5,1,0,0"   BorderBrush="Transparent">
                        <StackPanel  Orientation="Vertical"  Background="LightGray">
                            <Image Height="115" Width="115" Margin="2" Source="{Binding categoryImageName}" ></Image>
                            <TextBlock  Text="{Binding name}" TextWrapping="Wrap" Foreground="Black" HorizontalAlignment="Center"></TextBlock>
                        </StackPanel>

                    </Border>

                </DataTemplate>
            </ListBox.ItemTemplate>
        </ListBox>

我使用上面的代码以下列格式显示数据:

its the correct format

但是当[name]很长,比如“设置flkjadsflka fdsaflksdj flhasdjhfl asd”时,设计会变成这样:

this is distorted format

我想知道的是,无论如何,我可以以统一的格式展示物品,而不会有任何变形和物品的均匀高度。

2 个答案:

答案 0 :(得分:1)

将图像的拉伸属性设置为Stretch =“Fill”

<Image Height="115" Width="115" Margin="2" Source="{Binding categoryImageName}" Stretch="Fill" ></Image>

答案 1 :(得分:1)

如何给WrapPanel中的项目提供固定的高度?

<toolkit:WrapPanel ItemHeight="80" ... />