C# 如何限制ListView中单元格的长度?
我有这样一个列表视图 还有一个C# 如何限制ListView中单元格的长度?,c#,wpf,C#,Wpf,我有这样一个列表视图 还有一个.xalm ... <ListView x:Name="LVLog" ToolTip="Log of task(s) execution" Background="WhiteSmoke" HorizontalAlignment="Stretch" VerticalAlignment="Stretch"/
.xalm
...
<ListView
x:Name="LVLog"
ToolTip="Log of task(s) execution"
Background="WhiteSmoke"
HorizontalAlignment="Stretch"
VerticalAlignment="Stretch"/>
...
正如您所看到的,如果一行足够长,它就会超出边界,用户需要水平滚动以读取日志直到结束
问题是:有没有一种方法可以在下一行的边界处写入行?您可以使用
TextBlock
作为ItemTemplate
并在其上设置texttiming
。因此,文本将被修剪
隆隆洛
以及您将在工具提示中看到的全文:
<ListView ItemsSource="{Binding YourCollection}" ScrollViewer.HorizontalScrollBarVisibility="Disabled" >
<ListView.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding ...}" TextTrimming="CharacterEllipsis" ToolTip="{Binding ...}"/>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
您可以为列表定义项目模板view@PavelAnikhouski你有一个例子吗?看看这个简单的@PavelAnikhouski好的,据我所知,我可以添加模板来定义
TextBox
,但无论如何,如果我向TextBox
添加长文本,它将超出边框,没有?你可以限制textblock的大小,或者使用wrappanel作为项目面板模板并限制项目宽度,但正如我在问题中提到的,我不需要修剪文本,我需要将其写在下一行。。。
<ListView ItemsSource="{Binding YourCollection}" ScrollViewer.HorizontalScrollBarVisibility="Disabled" >
<ListView.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding ...}" TextTrimming="CharacterEllipsis" ToolTip="{Binding ...}"/>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
<ListView ItemsSource="{Binding YourCollection}" ScrollViewer.HorizontalScrollBarVisibility="Disabled" >
<ListView.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding ...}" TextWrapping="Wrap"/>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>