1

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

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

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

4

1 回答 1

1

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

于 2012-12-24T12:46:44.533 回答