使用字符串格式的同一标签上文本的不同颜色

sah*_*thi 2 xamarin xamarin.forms

我有一个 xaml 代码如下:

 <Label Text="{Binding Id,StringFormat='{0} *'}" HorizontalOptions="StartAndExpand" HorizontalTextAlignment="Center">
Run Code Online (Sandbox Code Playgroud)

在这里,是否有可能让 Id 是一种颜色而 * 是另一种颜色?

Jav*_*oza 6

您可以使用 FormattedText,如下所示:

<Label HorizontalTextAlignment="Center">
    <Label.FormattedText>
        <FormattedString>
            <Span Text="" TextColor="Red"/>
            <Span Text="" TextColor="Blue"/>
        </FormattedString>
    </Label.FormattedText>
</Label>
Run Code Online (Sandbox Code Playgroud)

问题在于它不支持绑定。但是,您可以从后面的页面代码中设置文本。如果它不适合您,只需在水平 StackLayout 中使用两个标签即可。

更新:

现在跨度是可绑定的!https://docs.microsoft.com/en-us/xamarin/xamarin-forms/user-interface/text/label#formatted-text