2009-10-09 30 views
0

我正在尋找一種設計多列布局的好方法,該方法根據可用空間重排列中的控件。我有一個顯示信息的標籤和字段列表,有時它們所包含的視圖需要高和瘦,其他時間又短又寬。對齊無WPF網格的列

一個簡單的解決方案是使用一個WrapPanel

<WrapPanel Orientation="Vertical"> 
    <StackPanel Orientation="Horizontal"> 
     <Label>Some label:</Label> 
     <TextBlock>Some value</TextBlock> 
    </StackPanel> 
    <StackPanel Orientation="Horizontal"> 
     <Label>Some other label:</Label> 
     <TextBlock>Some bigger value</TextBlock> 
    </StackPanel> 
    <StackPanel Orientation="Horizontal"> 
     <Label>A:</Label> 
     <TextBlock>B</TextBlock> 
    </StackPanel> 
</WrapPanel> 

我想要的標籤和值的所有排隊水平成多列,而不指定靜態寬度。目前,LabelTextBlock只是基於其內容而定大小。

+0

您是否嘗試使用WrapPanel作爲列表的ItemsContainer? – 2009-10-09 15:33:13

回答

1

您是否嘗試將WrapPanel作爲ItemsContainer添加到ListBox中?

<ListBox> 
    <ListBox.ItemsContainer> 
    <WrapPanel /> 
    </ListBox.ItemsContainer> 
</ListBox> 
+0

ListBox沒有ItemsContainer屬性。你指的是ItemsPanel嗎?如果是這樣,你能否詳細說明你的建議?這似乎是一個有趣的方法。 – 2009-10-09 16:44:50