Xamarin表单堆栈布局堆栈方向。水平

Xamarin表单堆栈布局堆栈方向。水平,xamarin,xamarin.ios,xamarin.forms,Xamarin,Xamarin.ios,Xamarin.forms,当我为stacklayout设置StackOrientation.Horizontal并设置5个标签时,它会正确显示 但当标签数增加时,标签文本大小减小,所有标签对齐以获得可用宽度 如何显示所有标签的全文如果标签计数超过,也将标签移动到下一行?StackLayout带水平方向方向将只使用“一行” 在这种情况下,您应该使用or(从) 在另一种情况下,您可以使用水平方向的堆栈布局,每个子项都是垂直方向的堆栈布局使用WrapLayout: var layout = new WrapLayo

当我为stacklayout设置StackOrientation.Horizontal并设置5个标签时,它会正确显示

但当标签数增加时,标签文本大小减小,所有标签对齐以获得可用宽度


如何显示所有标签的全文如果标签计数超过,也将标签移动到下一行?

StackLayout
水平方向
方向
将只使用“一行”

在这种情况下,您应该使用or(从)


在另一种情况下,您可以使用
水平方向的
堆栈布局
,每个
子项
都是
垂直方向的
堆栈布局

使用
WrapLayout

    var layout = new WrapLayout {
                    Orientation = StackOrientation.Horizontal,
                    HorizontalOptions = LayoutOptions.Fill,
                    Padding = new Thickness (0, padding, 0, padding)
                };
    layout.Children.Add (item);
结果:

Xamarin 3.0正是为了这个用例而引入的。它基于CSS FlexBox。

在这种情况下,以下几行行将不起作用“在另一种情况下,您可以使用水平方向的StackLayout,并且每个子级都是垂直方向的StackLayout。”。首先由@misho建议的WrapLayout是完全正确的解决方案。谢谢你们。为什么(“水平方向的StackLayout,每个孩子都是垂直方向的StackLayout”)在你们看来不起作用?水平方向的StackLayout不允许你们将标签移动到下一行。我们得出去玩了,你不明白我在说什么。例如,您可以使用水平方向的StackLayout和6个Child。每个子级是另一个垂直方向的StackLayout。它几乎像一个网格。但是,是的,比赛才是前进的方向。我在回答中已经说过了。