Fontawesome - 将Binded字符串显示为Icon,而不是unicode值

时间:2016-12-15 22:35:18

标签: wpf xaml font-awesome


陷入了一个非常简单的问题。 在我的应用程序中 - 我有一个带有FontAwesome图标列表的ComboBox。 我将它们描述为TextBlock的text属性中的unicode 像:

<ComboBoxItem Padding="2">
    <TextBlock Style="{StaticResource FontAwesome}" 
               Text="&#xf039;"/>
</ComboBoxItem>

一切都很好,我看到了ComboBox中的图标列表 现在,作为第一项,我想看到分配给对象图标的当前内容,所以我喜欢这样:

<ComboBoxItem Padding="2">
    <TextBlock Style="{StaticResource FontAwesome}" 
               Text="{Binding Icon}" />
</ComboBoxItem>

绑定值Icon包含字符串Icon =&#34;&amp; #xf039;&#34; (没有空格)现在,我绑定到Icon的第一个项目不显示图标,而是显示图标的unicode值。
我几乎可以理解它正在发生,因为它被保存为字符串并且正在作为字符串传递,字面意思,但是从这里可以解决什么问题呢?包括转换器,我想不会有帮助。但是有什么可以帮助将Icon的值保存为其他的,而不是字符串以及可以表示为Text属性的内容。

对于一些线索,我们将非常感激。

1 个答案:

答案 0 :(得分:3)

在代码后面创建Icon字符串时,它应该包含一个C#unicode字符转义序列,而不是一个XML(或XAML)unicode字符转义序列:

Icon = "\uF039";