繁体   English   中英

如何限制ListView中单元格的长度?

[英]How to restrict length of cell in ListView?

我有这样一个列表视图在此处输入图片说明

还有一个.xalm

...
<ListView
                x:Name="LVLog"
                ToolTip="Log of task(s) execution"
                Background="WhiteSmoke"
                HorizontalAlignment="Stretch"
                VerticalAlignment="Stretch"/>
...

还有我如何在LVLog添加项目

LVLog.Items.Add(message.Log);

如您所见,如果一行足够长,它就会超出边界,用户需要水平滚动才能将日志读到最后。

问题是:如果涉及到边界,是否有办法在下一行写一行?

您可以使用TextBlock作为ItemTemplate并在其上设置TextTrimming 所以文本将被修剪

长长的..

以及您将在工具提示中看到的全文:

<ListView ItemsSource="{Binding YourCollection}" ScrollViewer.HorizontalScrollBarVisibility="Disabled" >
    <ListView.ItemTemplate>
        <DataTemplate>
            <TextBlock Text="{Binding ...}" TextTrimming="CharacterEllipsis" ToolTip="{Binding ...}"/>
        </DataTemplate>
    </ListView.ItemTemplate>
</ListView>

如果你想有更多的行,那么只需在TextBlock设置TextWrapping="Wrap"

<ListView ItemsSource="{Binding YourCollection}" ScrollViewer.HorizontalScrollBarVisibility="Disabled" >
    <ListView.ItemTemplate>
        <DataTemplate>
            <TextBlock Text="{Binding ...}" TextWrapping="Wrap"/>
        </DataTemplate>
    </ListView.ItemTemplate>
</ListView>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM