StackLayout中的单词扭曲的水平堆栈标签

时间:2018-01-27 06:09:27

标签: c# xamarin xamarin.forms

我正在编写一个Xamarin.Forms社交网络应用程序,我试图这样做,当我在一行上有多个标签时,他们占用了他们需要的空间,然后是下一个标签的文本等等。

这是我尝试过的代码

StackLayout bodyLayout = new StackLayout
{
    Orientation = StackOrientation.Horizontal, HorizontalOptions = LayoutOptions.Fill 
};

Label word1 = new Label() { Text = "hey ppl you should follow" };
bodyLayout.Children.Add(word1);
Label word2 = new Label() { Text = "@SOCIALNETWORK" };
bodyLayout.Children.Add(word2);
Label word3 = new Label() { Text = "they are cool" };
bodyLayout.Children.Add(word3);

结果就是这样 Code Result

我希望将其打印为

  嘿,你应该关注@SOCIALNETWORK,他们很酷

当它到达屏幕的末尾时,它会进入下一行

1 个答案:

答案 0 :(得分:1)

尝试使用Label.FormattedText和Span。有一些限制(最值得注意的是,Span上没有可绑定的属性),但应该适用于您想要的内容:

Label line = new Label()
{
    FormattedText = new FormattedString()
    {
        Spans =
        {
            new Span() { Text = "hey ppl you should follow" },
            new Span() { Text = "@SOCIALNETWORK" },
            new Span() { Text = "they are cool" },
        }
    }
}