我正在寻找一种设计多列布局的好方法,该布局根据可用空间重排列中的控件。我有一个显示信息的标签和字段列表,有时它们包含的视图需要高而瘦,其他时间又短而宽。
一个简单的解决方案是使用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>
我希望标签和值全部水平排列成列,而不指定静态宽度。现在,Label
和TextBlock
只是根据其内容调整大小。
答案 0 :(得分:1)
您是否尝试在ListBox中添加WrapPanel作为ItemsContainer?
<ListBox>
<ListBox.ItemsContainer>
<WrapPanel />
</ListBox.ItemsContainer>
</ListBox>