【问题标题】:Xamarin addind ToolbarItem in dynamically in C#Xamarin 在 C# 中动态添加 ToolbarItem
【发布时间】:2019-04-19 01:15:24
【问题描述】:

我是 Xamarin 的新手。

我正在使用使用 font-awesome 4.7 版本的 Xamarin,我正在尝试在后面的代码中添加一个 ToolbarItem:

var toolBarItem = new ToolbarItem
{
    Icon = "",
}

在 xaml 文件中我可以这样做:

<assets:Icon Text="&#xf053;" TextColor="#5DD046" FontSize="24" HorizontalOptions="Start" VerticalTextAlignment="Center" Margin="25,0,0,0"/>

但是我需要它在后面的代码中工作,有人可以告诉我如何去做吗?

【问题讨论】:

  • 尝试设置图标文本而不转义Text="\uf053"
  • @shanranm 你能详细说明一下吗。
  • 既然你能够让它在 Xaml 中工作,我假设你已经编写了渲染器来更改工具栏项目的字体(字体真棒)。只需将ToolbarItemText 属性设置为图标的unicode 值(在本例中为\uf053)。

标签: c# xamarin.forms font-awesome-4


【解决方案1】:

从后面的代码中你可以这样做

Icon = "\uf053"

或者

Icon = ((char)0xf053).ToString();

您的原始值是"&amp;#xf053;",因此对于所有值,相同的规则适用于更改。

【讨论】:

  • 谢谢,但你如何表明我希望它是一个图标而不是文本?
  • 我们不需要知道。通过字符串的形式,它正在识别。您是否面临这种冲突?
  • 我得到的只是一个图标的标记(就像一个中间有 x 的小方块),但不是我需要的实际字体真棒图标
  • 我认为你需要设置FontFamily。对于Toolbar,您需要使用自定义渲染器来执行此操作,这会更复杂。我会建议你在这里使用图标。欲了解更多信息,请访问stackoverflow.com/questions/52274361/…
  • 如果我做Text = ((char)0xf053).ToString(),至少我得到上面提到的方框,但如果我做Icon = ((char)0xf270).ToString(),我什么也得不到
【解决方案2】:

您已经创建了一个工具栏项,但为了显示它,必须将其添加到页面中。 所以在你的页面代码中你应该调用

this.ToolbarItems.Add(toolBarItem);

创建项目后。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-08-01
    • 2020-04-21
    • 1970-01-01
    • 1970-01-01
    • 2011-05-17
    • 1970-01-01
    • 2017-06-20
    相关资源
    最近更新 更多