【问题标题】:Label with custom font and text with binding doesn't work带有自定义字体的标签和带有绑定的文本不起作用
【发布时间】:2020-09-04 22:35:02
【问题描述】:

我有一个 LabelFont 设置为图标字体(字体真棒),其 Text 绑定如下:

<Label Text='{Binding Icon}'>
  <Label.FontFamily>
    <OnPlatform x:TypeArguments="x:String">
        <OnPlatform.iOS></OnPlatform.iOS>
        <OnPlatform.Android>icons.ttf#Icons</OnPlatform.Android>
    </OnPlatform>
 </Label.FontFamily>
</Label>

它不呈现图标,而是呈现 Unicode 值 &amp;#xf032;

如果我设置没有绑定的文本,它会起作用,如下所示:

<Label Text='&#xf032;'>

我怀疑设置文本和字体之间存在某种竞争条件。

我需要绑定,但我不知道任何解决方法。

【问题讨论】:

    标签: xamarin xamarin.forms


    【解决方案1】:

    从绑定中返回\uf032 的转义序列,而不是&amp;#xf032;

    【讨论】:

    • 哇...谢谢!我能问一下是什么问题吗?为什么它适用于转义序列而不适用于我的字符串?
    • 看来 转义序列仅适用于 XAML,而 \uf032 仅适用于当前使用 Xamarin.Forms 4.5.530 + 时的绑定。
    • 它对我不起作用 :-( Visual Studio 2022,Xamarin Forms 5.0.0.2244
    【解决方案2】:

    SushiHangover 的作品在我的例子中,但如果你使用 Font Awesome Material Design Icons(在我的 XAML 中引用为 materialdesignicons.ttf#Material Design Icons)或任何超过 0xFFFF 的 Unicode 字符,你需要使用语法像这样:

    "\U000F09D7"
    

    【讨论】:

      猜你喜欢
      • 2017-05-13
      • 2016-04-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-30
      • 2014-04-20
      • 2012-02-28
      相关资源
      最近更新 更多