2010-02-10 96 views
4

我想用datagrid设计一个网格分割器和包含一些消息的底部面板的视图。喜欢的东西:WPF Datagrid虚拟化和自动化高度(不明确)

<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变得非常大,我需要启用虚拟化。这只适用于如果给我的网格容器明确的高度我相信?

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

回答

2

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

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

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

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