gpt4 book ai didi

wpf - 如何在 WPF ListView 中包装内容?

转载 作者:行者123 更新时间:2023-12-04 13:20:13 28 4
gpt4 key购买 nike

我有一个非常简单的 WPF ListView,用于列出文本 block 。我希望它垂直滚动,但文本应该换行以便没有水平滚动。我见过的所有示例都是过于复杂的 DataGridView 嵌套解决方案。然而,这似乎是一个简单的用例。这是我当前的代码:

<ListView  
Height="Auto"
Width="Auto"
Margin="0"
Name="mLogListView"
FontWeight="Bold"
FontSize="16"
SelectionMode="Single"
ScrollViewer.HorizontalScrollBarVisibility="Disabled"
HorizontalContentAlignment="Stretch"/>

我尝试设置 ScrollViewer.Horizo​​ntalScrollBarVisibility 和 Horizo​​ntalContentAlignment 属性,但文本只是从控件的末尾跑出并且不换行。

每个项目都添加到 ListView.Items集合并且是 ListViewItem目的。文本设置为项目的 Content属性(property)。

这是负责将文本时间添加到列表的代码:
ListViewItem item = new ListViewItem();            
item.Content = "Item text is set here, but refuses to wrap in list view!";
mLogListView.Items.Add(item);

谢谢你。

最佳答案

这应该是你需要的

<ListView Margin="12,23,309,191"
Name="mLogListView"
FontWeight="Bold"
FontSize="16"
SelectionMode="Single"
ScrollViewer.HorizontalScrollBarVisibility="Disabled"
HorizontalContentAlignment="Stretch" >
<!-- here set the itemTemplate to a TextBlock that can wraps-->
<ListView.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Path=.}" TextWrapping="Wrap"></TextBlock>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>

注意语法 Text="{Binding Path=.}"相当于 Text="{Binding}" .这称为 空绑定(bind)语法 .

在这种情况下 Text绑定(bind)到整个 ListViewItem 对象。当您想要绑定(bind)到整个对象项而不是仅绑定(bind)到项的单个属性时,空绑定(bind)语法很有用。

这对于示例来说很方便,因为源对象(ListViewItem)是字符串类型,而您只想绑定(bind)到字符串本身。

如需更多信息,请参阅 msdn 部分指定值的路径

关于wpf - 如何在 WPF ListView 中包装内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13056040/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com