在没有WPF网格的情况下对齐列

时间:2009-10-09 13:36:50

标签: wpf wrappanel

我正在寻找一种设计多列布局的好方法,该布局根据可用空间重排列中的控件。我有一个显示信息的标签和字段列表,有时它们包含的视图需要高而瘦,其他时间又短而宽。

一个简单的解决方案是使用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只是根据其内容调整大小。

1 个答案:

答案 0 :(得分:1)

您是否尝试在ListBox中添加WrapPanel作为ItemsContainer?

<ListBox>
  <ListBox.ItemsContainer>
    <WrapPanel />
  </ListBox.ItemsContainer>
</ListBox>