2014-12-04 70 views
0

我想要控制一個在另一個之上。其中一個應該在底部,並且應該有一個ListView,它應該填充剩下的所有可用空間。我嘗試將它們添加到StackPanel,VerticalAlignment =「Bottom」,但是然後ListView不可滾動,並且不關心它留下的空間。Windows商店應用程序佈局:ListView來填充剩餘空間

enter image description here

回答

3

的StackPanel中會格式化,以適應其內容,給人的ListView無限空間,然後套結後另一控制,可視範圍的可能之外。而是使用網格並設置行高以匹配您的設計。例如:

<Grid> 
    <Grid.RowDefinitions> 
     <RowDefinition Height="*" /> 
     <RowDefinition Height="auto" /> 
    </Grid.RowDefinitions> 
    <ListView Grid.Row="0"></ListView> 
    <Button Grid.Row="1" /> 
</Grid> 

Height =「auto」表示根據內容計算高度。 Height =「*」表示使用剩餘空間(或者如果有多個* s,則將剩餘空間分開)。有關更多詳細信息,請參閱RowDefinition.Height文檔中的備註。

+0

謝謝,這個作品完美。我想知道爲什麼教程從未提及過自動設置。 – SPQR3 2014-12-04 22:35:18