2009-11-20 110 views
0

非常基本的WPF佈局問題

我如何獲得這個列表框是maxiumum大小,即填補了組框它英寸 我已經試過寬度=「自動」 HEIGHT =」 auto,width =「stretch」Height =「stretch」

令人討厭的是,它動態地調整大小以滿足任何需求 - (我不能想到任何情況下,你想要一個列表框,但無論如何) - 或者我只能靜態設置其大小。

乾杯!

回答

3

問題是StackPanels儘量佔用儘可能小的空間。

只要刪除它們,你應該沒問題。

<GroupBox> 
    <ListBox /> 
</GroupBox> 

如果這不符合您的情況,我們將需要更多的上下文ListBox的去向。

DockPanels也可以讓控件使用餘下的空間。 DockPanel中的最後一項使用所有剩餘的空間(只要你沒有設置LastChildFill = false)。

下面的例子允許TextBlock在頂部佔用儘可能多的空間,然後帶有ListView的GroupBox佔用剩下的空間。

<DockPanel> 
    <TextBlock DockPanel.Dock="Top" Text="My TextBlock Text" /> 
    <GroupBox> 
     <ListBox /> 
    </GroupBox> 
</DockPanel> 
+0

我遇到的問題是,「溢出」列表框溢出了窗體下? – baron 2009-11-20 02:43:06

+0

啊。都好。不得不刪除height = auto width = auto等。 謝謝! – baron 2009-11-20 02:46:18

1

如果你想調整大小來填充,你應該使用Grids而不是StackPanels。

<Grid> 
    <GroupBox> 
    <Grid> 
     <Grid.ColumnDefinitions> 
     <ColumnDefinition Width="*" /> 
     </Grid.ColumnDefinitions> 
     <Grid.RowDefinitions> 
     <RowDefinition Height="*" /> 
     </Grid.RowDefinitions> 
     <ListBox /> 
    </Grid> 
    </GroupBox> 
</Grid> 

如果你真的想StackPanels,您可以在StackPanel中使用HorizontalContentAlignment="Stretch"VerticalContentAlignment="Stretch"