2016-12-16 59 views
0

我的目标是显示带有功能的文本,您可以点击显示的文本中的任何文字,并使用该选定的文字进行操作。文本 - 每个单词的一个标签

我选择标签方法。这意味着文本中的每个单词都会出现在自己的标签中。然后我可以在该标签上增加点击事件。

但我找不到如何将标签的“组”标记为“好”的格式文本。

我的想法是:

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

+0

什么是您的输入和期望的输出? – RandomStranger

+0

你能提供你有什么和你想要的截图吗? – user1

+0

输入将只是文本。例如,5个句子和输出将是由标签组成的文本(1个单词的1个标签),通常是格式化的,就像如果我有一个带有文本的标签一样。 –

回答

1

感谢您的时间。我找到答案。像wrappanel就是我在找的东西。但是xamarin.forms没有一个,所以我不得不帮助自己。

我发现这个wrappanel类 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> 
相关问题