【问题标题】:Bind breakline symbol to Label.Text将隔断线符号绑定到 Label.Text
【发布时间】:2020-04-09 02:33:22
【问题描述】:

当绑定一个 Label.Text 尝试了很多方法: \n \r 但它们都没有显示为特征线 我拒绝相信我需要动态创建一个自定义控件来生成多个断线符号的跨度... 有没有更简单/更简单的方法?

我尝试过的:

  • string BreaklineText = "第一行文本\n第二行文本"
  • string BreaklineText = "文本第一行\r文本第二行"
  • string BreaklineText = @"文本第一行
文本第二行"
  • string BreaklineText = @"文本第一行
文本第二行"

xaml: <Label Text="{Binding BreaklineText}"/>

它应该在我的视图中显示为 文字第一行 文字第二行

【问题讨论】:

标签: string xaml xamarin xamarin.forms


【解决方案1】:

这不是最佳解决方案,因为我想在 XAML 上找到一个可以解释为 BreakLine 的符号,但它会完成这项工作。

string BreaklineText = "Text first line\nText second line".Replace("\n", System.Environment.NewLine);

【讨论】:

    【解决方案2】:

    在 XAML 中使用 Ascii 等效的 
 应该可以工作,您错过了 ;

    <Label Text="Text first line&#10;Text second line"/>
    

    【讨论】:

    • 感谢您的回答,但这并不完全是解决方案,字符串正在从我的 VM 绑定为 public string BreakLineText = "Text first line&amp;#10;Text second line" 并且不会按应有的方式显示
    • 请注意,我在 xaml 中使用绑定 Label Text="{Binding BreaklineText}"
    • 你为什么使用@ 只是在后面的代码中使用\n
    • 删除它也行不通...希望问题很清楚。它实际上非常简单,想象字符串是“第一行\n第二行”将它绑定到我的 XAML '\n' 不会显示为 BreakLine
    • 是安卓还是iPhone?
    【解决方案3】:

    我在 @Motumbo 上构建并将 System.Environment.NewLine 设置为类似的变量

    var nl = System.Environment.NewLine;

    然后我可以写出变化:

    string text = "some text" + nl + "text on newline";

    还发现“\r\n”适用于 Droid 和 UWP。没有 iOS 来测试。所以:

    string text = "some text\r\ntext on newline";

    为我工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-12-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-08
      • 1970-01-01
      • 2014-07-04
      相关资源
      最近更新 更多