是否可以在Xamarin.Forms Label小部件中使用粗体和非粗体文本?是否有可能在Label内部有终结线?
<Label Text="Abc <b>def</b>"/>
<Label Text="Abc \ndef"/>
答案 0 :(得分:2)
最好的方法是绑定FormattedText样式,如下所示:
<Label FormattedText="{Binding CustomFormattedText}" />
在模特中:
public FormattedString CustomFormattedText
{
get
{
return new FormattedString
{
Spans = {
new Span { Text = Sum, FontAttributes=FontAttributes.Italic, FontSize="10" },
new Span { Text = Info, FontSize="10" } }
};
}
set { }
}
答案 1 :(得分:1)
查看the documentation中的FormattedString
。
您创建一个FormattedString
对象,该对象由多个Span
个对象组成,这些对象都有自己的字体,重量,颜色等。
示例:
var labelFormatted = new Label ();
var fs = new FormattedString ();
fs.Spans.Add (new Span { Text="Red, ", ForegroundColor = Color.Red, FontSize = 20, FontAttributes = FontAttributes.Italic) });
fs.Spans.Add (new Span { Text=" blue, ", ForegroundColor = Color.Blue, FontSize = 32) });
fs.Spans.Add (new Span { Text=" and green!", ForegroundColor = Color.Green, FontSize = 12) });
labelFormatted.FormattedText = fs;
关于新行,\n
应该有用。另一种解决方法是这样做:
<Label>
<Label.Text>
This is my magical
unicorn text
</Label.Text>
</Label>