2014-01-27 2 views
8

Я хочу добавить пользовательский значок в WPF. Я использую entypo и Font-Awesome.Добавить значок шрифта в wpf

Я добавляю этот пакет в раствор и использую его в XAML.

<UserControl.Resources> 
    <Style x:Key="FontAwesome"> 
     <Setter Property="TextElement.FontFamily" Value="fonts/FontAwesome.ttf" /> 
    </Style> 
</UserControl.Resources> 


<TextBlock Text="&#xf01a;" Style="{DynamicResource FontAwesome}" /> 

Но не показывать значок.

+0

' 'это прекрасно работает? правильно ли применяется семейство шрифтов? – Sankarann

+0

Спасибо, я использую это, но не показываю значок и показываю прямоугольник, добавляю папку Fonts (.eot, .svg, .ttf, .woff) в решение. У меня есть какие-то специальные настройки? – Niloo

ответ

11

Убедитесь, что ваш шрифт добавлен в качестве ресурса. Затем используйте следующую строку:

<Setter Property="TextElement.FontFamily" Value="pack://application:,,,/fonts/#FontAwesome" /> 

В строке выше, я предполагаю, что имя шрифта (не имя файла шрифта на) является FontAwesome.

+0

Спасибо, я перейду в собственность и выберите действие Embedded Resource для файла шрифта. и используйте это значение, но не показывайте :( – Niloo

+0

Большое спасибо, я удаляю шрифт и добавляю снова, и использую это значение, это нормально :) – Niloo

+0

Не выбирайте 'Embedded Resource', он не поддерживается в этом дело. Вместо этого следует выбрать «Ресурс», хотя «Контент» - еще один возможный выбор. – terry

0

Вы можете также использовать Ниже структуру, если ресурс шрифта в папку решения,

<Setter Property="TextElement.FontFamily" Value="../fonts/FontAwesome.ttf" /> 
+0

Использование относительных путей - это, как правило, плохая идея - она ​​зависит от местоположения ваших файлов XAML. –

+0

Да, конечно, я согласен с этим. Но я имею в виду не слишком многому его путать. Просто это другой способ. – Sankarann

+0

Каково ваше значение «ресурса шрифтов», я загружаю шрифты http: //fortawesome.github .io/Font-Awesome and and fonts для решения. – Niloo

Смежные вопросы