StackPanel和列中的项目

时间:2013-11-04 20:54:44

标签: c# wpf windows-8 windows-store-apps

我将控件动态添加到StackPanel,但所有控件都垂直对齐,并且项目超过了高度的限制而不是所有项目都显示。

是否可以根据高度对齐控件并根据项目的数量和高度将其放在多个列中?

<ScrollViewer  Grid.Column="2" x:Name="DetailInfoScroll"  Margin="25,0,50,0" Style="{StaticResource HorizontalScrollViewerStyle}" >
<StackPanel Grid.Column="2" Margin="25,0,50,35" HorizontalAlignment="Left"  VerticalAlignment="Center" x:Name="StkText">
</StackPanel>
</ScrollViewer>

添加控件:

  foreach (var text in texts)
    {
            StkText.Children.Add(new TextBlock
            {
                Text = text,
                TextWrapping = TextWrapping.Wrap,
                TextAlignment = TextAlignment.Justify,
                FontSize = 14,
                Margin = new Thickness(0, 0, 0, 25)
            });

    }

2 个答案:

答案 0 :(得分:1)

我找到了一个使用VariableSizedWrapGrid的解决方案

http://msdn.microsoft.com/library/windows/apps/br227651.aspx

答案 1 :(得分:0)

我认为你所要求的是WrapPanel。我希望我没错。 :)

检查这些链接:

http://msdn.microsoft.com/en-us/library/system.windows.controls.wrappanel.aspx

http://msdn.microsoft.com/en-us/library/ms754152.aspx