文本 - 每个单词的一个标签

时间:2016-12-16 11:37:19

标签: c# xamarin xamarin.forms

我的目标是显示带有功能的文字,您可以点按所显示文字的任何单词,它会对所选单词执行某些操作。

我选择标签方法。这意味着文本中的每个单词都将在其自己的标签中。然后,我可以在该标签上提升点击事件。

但我无法找到如何格式化" group"标签进入"不错"格式文本。

我的想法是:

private void ReadPageViewModel_ReloadPageEvent(string text)
    {

        MyLayout.Spacing = 2; //MyLayout is StackLayout
        MyLayout.Orientation = StackOrientation.Horizontal;

        //MyLayout.HorizontalOptions = LayoutOptions.EndAndExpand;

        var splitedtText = text.Split(';');
        foreach(var item in splitedtText)
        {
            MyLayout.Children.Add(new Label {Text = item , HorizontalOptions = LayoutOptions.FillAndExpand });
        }
    }

每次尝试都会导致错误的格式化文本。

你可以给我一些建议吗?我使用错误的布局吗?还是有一些我不知道的简单技巧?

编辑:

截图:

这只是插入标签的文字,这是我想用本文中每个单词的1个标签来实现的。

goal

多次尝试之一(上述样本的结果)

bad formatting

1 个答案:

答案 0 :(得分:1)

感谢您的时间。我找到了答案。像wrappanel这样的东西就是我想要的东西。但是xamarin.forms没有,所以我必须自己帮助。

我发现了这个包裹类 https://gist.github.com/NicoVermeir/7ffb34ebd639ed958382https://github.com/conceptdev/xamarin-forms-samples/blob/master/Evolve13/Evolve13/Controls/WrapLayout.cs

选择一个wrappanel类并将其包含在项目中。然后将名称空间添加到视图中,它就是全部。

xmlns:controls="clr-namespace:SecretProject75.Controls;assembly=SecretProject75"
<controls:AwesomeWrappanel Grid.Column="1" x:Name="MyWarappicek" Orientation="Horizontal"></controls:AwesomeWrappanel>