2016-12-15 5 views
0


Застрял немного с довольно простой проблемой. В моем приложении - у меня есть ComboBox со списком значков FontAwesome. Я описываю их как unicode в текстовом свойстве TextBlock.
Как:Fontawesome - отображение Связанная строка в виде значка, а не значения unicode

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

Все хорошо, я вижу список иконок в ComboBox.
Теперь, в качестве первого пункта, я хочу, чтобы увидеть текущий назначен на значок объекта, так что я, как это:

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

Значение Иконка переплетены держит строку Icon = «& # xf039;» (без пробела), и теперь мой первый элемент, привязанный к значку, отображает не значок, а значение юникода значка.
Я в значительной степени могу понять, что это происходит из-за того, что оно сохраняется в виде строки и получает буквально буква, но что может быть обходным путем? Включите конвертер, я полагаю, это не поможет. Но то, что может помочь, заключается в том, чтобы сохранить значение значка как some else, а не строку и то, что может быть представлено как свойство Text.

Будет очень признателен за некоторые подсказки.

ответ

1

При создании Icon строки в коде позади, он должен содержать C# Юникода экранирующего символа последовательности вместо управляющей последовательности XML (или XAML) юникода характер:

Icon = "\uF039";