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

<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变得非常大,我需要启用虚拟化。这仅在我相信网格容器的高度明确的情况下有效吗?

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

最佳答案

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


只要网格的父级不在垂直方向将其测量为无穷大,虚拟化在您描述的方案中就可以正常工作。如果是这种情况,则拆分器将无法工作。

您如何确定未对DataGrid中的行进行虚拟化?

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

关于c# - WPF Datagrid虚拟化和自动高度(未明确),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2239111/

10-13 03:22