2010-09-02 67 views

回答

2

這就是答案::)

<ListBox> 
    <ListBox.ItemsPanel> 
     <ItemsPanelTemplate> 
      <StackPanel Orientation="Vertical" /> 
     </ItemsPanelTemplate> 
    </ListBox.ItemsPanel> 
</ListBox> 
+0

也許標記答案? – 2011-06-23 23:37:11

2

哪個高度你指的是?控制本身?或者ListBox內的項目?

如果你指的是控制的高度,默認情況下它設置爲「拉伸」,因此將擴大相對於它的父:

<Grid Name="LayoutRoot" Height="500"> 
    <ListBox /> 
</Grid> 

如果你想在列表框不擴大與它的父之一: 設置其VerticalAlignment = 「頂部」:

<Grid Name="LayoutRoot" Height="500"> 
    <ListBox VerticalAlignment="Top" /> 
</Grid> 

或:

<Grid Name="LayoutRoot" Height="500"> 
    <Grid.RowDefinitions> 
     <RowDefinition Height="Auto" /> 
     <RowDefinition Height="*" /> 
    </Grid.RowDefinitions> 
    <ListBox VerticalAlignment="Top" Grid.Row="0" /> 
</Grid> 

網格將相對於其內容沒有其父項擴展。您還可以使用綁定到height屬性的轉換器或在xaml的代碼隱藏中設置高度。

如果您在討論ListBox的內容,請創建一個ItemTemplate。 ItemTemplate將決定如何顯示每個內容。

您也可以設置itemspanel,這將決定如何顯示列表。 您可以使用Stackpanel/WrapPanel。