WPF - 如何在包装面板中转到新的TextBlock线?

时间:2017-03-25 20:12:36

标签: c# wpf xaml

<ListViewItem Height="100" Width="600">
                <WrapPanel>
                    <Image Source="Resources/asus.jpg" Width="200"/>
                    <TextBlock FontWeight="Bold" Height="20" Text="Asus prenosnik X540LJ-DM289DB" />
                    <TextBlock FontSize="1" Height="75" Text="Prenosnik Asus X540LJ-DM289DB se ponaša z 39,5 cm (15,6'') velikim zaslonom, 8 GB pomnilnika, 1 TB HDD diskom, procesorjem Intel Core i5–5200U, grafično kartico Nvidia GeForce GTX 920M in operacijskim sistemom Windows 10."/>
                </WrapPanel>
            </ListViewItem>

我正在使用WPF进行作业。我必须创建一个“网上商店”。我需要有一个listviewitems的文章列表视图。我添加了图片和文章名称,但是当涉及到文章描述时,我希望文本块尽可能在下一行中。在这里找不到类似的问题。提前谢谢。

It would be even better if I could have the description below the article name

1 个答案:

答案 0 :(得分:0)

要使TextBlock“尽可能进入下一行”a.k.a“Text Wrap”,您需要将TextWrapping属性设置为“Wrap”。

如果你想在文章名称下面有描述,你不能用WrapPanel做到这一点。这是使用Grid的解决方案;

<ListViewItem Height="100" Width="600">
    <Grid>
        <Grid.RowDefinitions>
            <RowDefinition/>
            <RowDefinition/>
        </Grid.RowDefinitions>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="200"/>
            <ColumnDefinition/>
        </Grid.ColumnDefinitions>


            <Image  Grid.Column="0" Grid.Row="0" Grid.RowSpan="2" Source="Resources/asus.jpg"  VerticalAlignment="Center"/>
            <TextBlock Grid.Column="1" Grid.Row="0" FontWeight="Bold" Height="20" Text="Asus prenosnik X540LJ-DM289DB" />
            <TextBlock Grid.Column="1" Grid.Row="1" TextWrapping="Wrap" FontSize="9" Height="75" Text="Prenosnik Asus X540LJ-DM289DB se ponaša z 39,5 cm (15,6'') velikim zaslonom, 8 GB pomnilnika, 1 TB HDD diskom, procesorjem Intel Core i5–5200U, grafično kartico Nvidia GeForce GTX 920M in operacijskim sistemom Windows 10."/>

    </Grid>
</ListViewItem>