WPF GridViewColumn Width ="auto"仅适用于当前滚动范围内的项目

标签 wpf listview expand

我有一个包含许多项目的 ListView,我试图将列宽设置为自动,以便它们自动扩展到列中最长字符串的宽度。起初,它似乎有效,但当我向下滚动列表时,我注意到一些较长的字符串被剪短了,因为该列没有足够的自动扩展。然后我想到将宽度设置为 auto 似乎是根据当时网格上可见的列值计算宽度。因此,当我向下滚动到包含特定列的更长字符串的行时,我可以双击列分隔符以使其进一步展开。这种行为似乎不对。

如何让列从一开始就扩展到最长字符串的长度?

最佳答案

原因是虚拟化阻止了某些项目的生成,然后在计算宽度时不考虑它们。

因此,您可以通过将其添加到 ListView 来关闭虚拟化 ->

<ListView x:Name="lv" ScrollViewer.CanContentScroll="False">

但要小心,如果你有很多项目,它会减慢你的应用程序,因为它们都会在启动时生成。

关于WPF GridViewColumn Width ="auto"仅适用于当前滚动范围内的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6307289/

相关文章:

c# - ListView InputBinding MouseBinding 不起作用

c# - 带绑定(bind)的扩展 WPF 工具包数据网格

android - ListItem 中的 WebView -> 项目不可点击 |安卓

html - 带有扩展子菜单的垂直导航菜单

Python在数据框中扩展网络地址

reactjs - 使用 React + Material UI Card Expander 扩展单个卡片

c# - MFC 应用程序中的 WPF System.Windows.Navigation.NavigationWindow

c# - MVVM XAML 应用程序中的异步等待

android 我的 ListView 不显示所有项目

具有多个选择和自定义适配器的 Android ListView