wpf - DataGrid行详细信息可见性

标签 wpf xaml mvvm mvvm-light

我正在使用已定义RowDetailsTemplate属性的DataGrid控件。显然,单击一行将显示该行的行详细信息。但是,一旦显示了行详细信息,那么在DataGrid中向下滚动时就会出现问题。一旦可见详细信息的行向上移动并移出视野,该行详细信息即刻消失,从而导致随后的行“跳转”并填充空间。再次向上滚动将使行详细信息立即出现,从而导致随后的行“跳”回向下以提供空间。

这似乎不是虚拟化问题,因为无论EnableRowVirtualization的值如何,都会发生相同的行为。另外,我理解从可视树的角度来看这是有道理的,因为行详细信息容器位于行容器内。但是,该行为实际上在外观上看起来很愚蠢。

无论如何,在取消选择该行之前,即使不显示实际行,也始终保持行详细信息可见?

最佳答案

将DataGrid上的ScrollViewer.CanContentScroll附加属性设置为"False"。这将允许DataGrid项目及其RowDetails的平滑滚动。
但这会影响性能,因为将不使用DataGrid的虚拟化功能。

关于wpf - DataGrid行详细信息可见性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13863205/

相关文章:

c# - WPF ListView : Aligning text in selected columns

wpf - 如何在自动列宽度内将TextBlock换行?

c# - Windows 应用程序 - 刚开始

c# - 打开和关闭 WPF DataGrid 背景图像?

c# - wpf 中的 MVVM 模式 - 一个数据模型,多个 View 模型

c# - 使用 WPF 在虚拟化 TreeView 中选择一个节点

wpf - 在 ScrollViewer 中平移 Canvas 的内容

c# - 超链接上的投影效果

c# - WPF/MVVM - 检查基于字符串匹配的 MenuItem

c# - 动画不表现自己