2010-02-10 84 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到一個明確的高度(在考慮其他行後,網格中剩餘的垂直空間)。