4

我正在尝试设计一个带有数据网格、网格拆分器和包含一些消息的底部面板的视图。就像是:

<Grid>
    <Grid.RowDefinitions>
        <RowDefinition Height="*"/>
        <RowDefinition Height="10"/>
        <RowDefinition Height="Auto"/>
    </Grid.RowDefinitions>

    <toolkit:DataGrid Grid.Row="0" {details...} />
    <GridSplitter Grid.Row="1" {details...} />
    <TextBox Grid.Row="2" {details...} />
</Grid>

这种布局看起来很完美 - 网格填充了大部分视图,如果需要,我有拆分器来展开底部的文本框。问题是 Datagrid 变得非常大,我需要启用虚拟化。这只有在我相信网格的容器有明确的高度时才有效?

有没有办法获得我想要的布局(网格填充所有可用空间)但也启用了虚拟化?

4

1 回答 1

2

有没有办法获得我想要的布局(网格填充所有可用空间)但也启用了虚拟化?

虚拟化在您描述的场景中应该可以正常工作,只要 Grid 的父级没有在垂直方向上将其测量到无穷大。如果是这样,分离器将无法工作。

您如何确定 DataGrid 中的行没有被虚拟化?

请注意,DataGrid在您的方案中确实具有明确的高度。更具体地说,父 Grid 仍将 DataGrid 测量到一个明确的高度(在考虑其他行之后,Grid 中剩余的垂直空间)。

于 2010-02-11T09:57:36.743 回答