2011-04-01 39 views
1

我有這樣在WPF網格控件身高最後一排的

<Grid.RowDefinitions> 
    <RowDefinition Height="Auto" MinHeight="100"/> 
    <RowDefinition Height="Auto" MinHeight="100"/> 
    <RowDefinition Height="Auto" MinHeight="100"/> 
    <RowDefinition Height="Auto" MinHeight="100"/> 
</Grid.RowDefinitions> 
<Grid.ColumnDefinitions> 
    <ColumnDefinition Width="Auto" MinWidth="210" /> 
    <ColumnDefinition Width="Auto" MinWidth="210"/> 
    <ColumnDefinition Width="Auto" MinWidth="210"/> 
</Grid.ColumnDefinitions> 

網格當我調整電網,我發現最後一排的實際高度始終保持100,假設沒有控制內。所以問題是,即使網格高度是,例如,450的實際高度仍然保持100最後一排。

我知道我可以通過從網格實際高度減去其他行的高度來獲得最後一排的高度。但爲什麼當網格被調整大小時,最後一行的實際高度沒有得到更新?

+1

我不認爲'Auto'就是你想要的。試試'*'? – BoltClock 2011-04-01 20:20:55

回答

1

你說的最後一行應該根據其中的元素確定它的高度,但不得小於100像素高。如果最後一行沒有元素,那麼在沒有MinHeight的情況下,它通常是0像素高。

聽起來像是你要使用:

<RowDefinition Height="*" MinHeight="100" /> 

您的最後一排。

+0

問題是如果您將高度設置爲自動,那麼爲什麼acutal heigt不會更新。 – user686730 2011-04-26 23:50:09

+0

@ user686730 - 因爲如果沒有控件,那麼它通常會有一個ActualHeight爲0.因爲您添加了MinHeight爲100,那麼ActualHeight將始終爲100.如果將控件添加到該行,則ActualHeight可以大於100,如果控件需要高於100像素來顯示它的內容。 – CodeNaked 2011-04-27 00:00:58