【问题标题】:binding font-awesome character in XAML to Text将 XAML 中的字体真棒字符绑定到文本
【发布时间】:2013-10-24 21:59:07
【问题描述】:

我有一个 TextBlock,我正在尝试将文本绑定到一个字体很棒的字符以用作复选框。我有一个返回字符串的属性,但似乎有些东西正在将其转换为字符串而不是字符。

这有效并绘制了一个复选框:

<TextBlock Text="&#xf096;" FontFamily="/Resources/fontawesome-webfont.ttf#FontAwesome" />

这种组合没有:

public class myObject 
{
    public string MyString
    {
        get { return "&#xf096;" }
    }
}

<TextBlock Text{Binding MyString} FontFamily="/Resources/fontawesome-webfont.ttf#FontAwesome" />

相反,它绘制实际的字符串(带有#xf096; et al),就好像它被转义了一样。

任何想法为什么或如何使它返回未引用的字符?

谢谢!

【问题讨论】:

    标签: silverlight windows-phone-7 font-awesome


    【解决方案1】:

    看来您的目标可以使用unicode 转义序列来实现:

    public class myObject 
    {
       public string MyString
       {
          get { return "\uf096"; }
       }
    }
    
    <TextBlock Text="{Binding MyString}" FontFamily="../Resources/fontawesome-webfont.ttf#FontAwesome" />
    

    然后,即使由 Binding 提供,也会处理该字符串。 我在台式机上对其进行了测试,但我认为这在手机版上应该也能正常工作。

    【讨论】:

      【解决方案2】:

      好吧,我不确定这是否是原因,但您的 TextBlock 应为 Text="{Binding MyString}"(您缺少引号和等号),您还应该确保页面/控件的 DataContext /whatever 设置为您的 MyObject 类的实例,以便可以拾取它。最后,如果您打算更新绑定,您的属性可能需要实现 INotifyPropertyChanged。

      【讨论】:

        猜你喜欢
        • 2015-08-30
        • 2015-08-30
        • 2020-09-24
        • 1970-01-01
        • 2014-12-10
        • 1970-01-01
        • 2018-02-14
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多