DataGrid行详细信息可见性

时间:2012-12-13 15:36:01

标签: wpf xaml mvvm mvvm-light

我正在使用DataGrid控件并定义了RowDetailsTemplate属性。显然,单击一行将显示该行的行详细信息。但是,一旦显示行详细信息,我在DataGrid中向下滚动时遇到问题。一旦细节可见的行向上和向外移动,行细节立即消失,导致后续行“跳”并填充空间。再次向上滚动会导致行详细信息立即显示,导致后续行“跳回”以提供空间。

这似乎不是虚拟化问题,因为无论EnableRowVirtualization的值是什么,都会发生相同的行为。另外,我理解从视觉树的角度来看,这是有道理的,因为行详细信息容器在行容器中。然而,这种行为在实践中看起来很愚蠢。

是否仍然保持行详细信息始终可见,即使实际行不可见,直到取消选择该行?

1 个答案:

答案 0 :(得分:1)

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