XAML中的String.Format以及Xamarin形式的本地化

时间:2019-03-22 18:09:35

标签: c# xaml xamarin xamarin.forms localization

我需要从View Model中获取一个字符串,并从Resx中获取另一个字符串,并将它们连接起来以在标签中显示它。我知道我可以通过创建新属性在View模型中完成此操作。但是,我想知道XAML本身是否有办法。 像这样

  <Label Text="{Binding UserName, StringFormat='{i18n:Translate Welcome} {0}'}"/>

1 个答案:

答案 0 :(得分:0)

您可以简单地在标签中使用格式化的字符串,以帮助自己使用跨度并建立标签文本,跨度现在允许您在其text属性中进行绑定,因此,如果执行以下操作,则应该可以。

<Label>
    <Label.FormattedText>
        <FormattedString>
            <Span Text="{i18n:Translate Welcome}"/>
            <Span Text="{Binding UserName}"/>
        </FormattedString>
    </Label.FormattedText>
</Label>