【问题标题】:WPF - how to go to new TextBlock line inside wrap panel?WPF - 如何转到换行面板内的新 TextBlock 行?
【发布时间】:2017-03-26 04:32:59
【问题描述】:
<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 进行作业。我必须创建一个“网上商店”。而且我需要将文章列表视图作为列表视图项。我添加了图片和文章名称,但是当涉及到文章描述时,如果可能的话,我希望文本块放在下一行。在这里找不到类似的问题。提前致谢。

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

【问题讨论】:

    标签: c# wpf xaml


    【解决方案1】:

    要使 TextBlock“尽可能进入下一行”,也就是“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>
    

    【讨论】:

    • 谢谢!我想我宁愿使用第一个选项,因为它的 XAML 较少,因为我必须在下一个任务中使用 C# 添加 listviewitems。我认为这会更复杂。
    • 如果我没看错,你就要犯错了。你打算用 C# 代码手动填充列表视图的项目吗?你应该看看数据绑定数据模板和列表视图绑定主题@Yanketz
    • 列表视图中已经有项目了。但是当我单击其中一个过滤器时,应该会弹出新项目。它在我们的说明中说,您添加的内容应该在 C# 代码中静态定义。顺便说一句,我该怎么做?假设您向我展示了第二种解决方案。
    • @Yanketz 看看这里:wpf-tutorial.com/listview-control/…
    • stackoverflow.com/questions/43149768/… 我很想在这个线程中提供帮助@Hasan Ayan
    猜你喜欢
    • 1970-01-01
    • 2013-08-02
    • 1970-01-01
    • 2012-01-21
    • 1970-01-01
    • 1970-01-01
    • 2023-04-06
    • 2010-09-28
    • 1970-01-01
    相关资源
    最近更新 更多