как использовать значок [Font-awesome] в WPF

Я новичок в WPF. Я хочу использовать Font-awesome Icon в текстовом поле и кнопку. но значок не связывается с моим текстовым полем

Я устанавливаю Font-awesome ресурс в свое приложение.

Дайте мне знать, как я могу его использовать

Спасибо,

Мне это действительно нужно, пожалуйста, помогите мне..

пример

Шаг 1: Загрузите Font-Awesome

Инструменты → Менеджер пакетов библиотеки → Консоль диспетчера пакетов

PM> Install-Package FontAwesome.WPF

Шаг 2: Добавить ресурс

<Application> xmlns:fa="http://schemas.fontawesome.io/icons/" </Application>

Шаг 3: Поместите App.xaml

<Application.Resources>

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

</Application.Resources>

Шаг 4: Используйте его в Demo.xaml

<TextBlock Style="{StaticResource FontAwesome}"
FontSize="75"
Text="&#xf133;" />

Шаг 5: - Выход

My Output is this

Ответ 1

Сначала загрузите Font Awesome, извлеките ZIP файл и скопируйте fonts/fontawesome-webfont.ttf в папку Fonts в своем решении. Установите действие "Сборка" в свойствах "Ресурс", если оно уже

enter image description here

Затем добавьте стиль в ресурсы в App.xaml. Не забывайте # в начале имени шрифта и не забудьте использовать внутреннее имя шрифта, а не имя файла. Чтобы проверить имя шрифта, просто дважды щелкните файл шрифта, и он откроется в Windows Font Viewer. Имя шрифта будет сверху.

enter image description here

<Application.resources>
<FontFamily x:Key="FontAwesome">/Fonts/fontawesome-webfont.ttf#FontAwesome</FontFamily>
</Application.resources>

Откройте MainWindow.xaml и замените сетку следующим фрагментом:

<Grid VerticalAlignment="Center" HorizontalAlignment="Center">

<StackPanel Orientation="Horizontal" >

<TextBlock Text="I" FontSize="32" Margin="10" VerticalAlignment="Center"></TextBlock>


<TextBlock x:Name="tbFontAwesome" Text="&#xf004;" FontFamily="{StaticResource FontAwesome}" Foreground="Red" FontSize="32" Margin="10" VerticalAlignment="Center"></TextBlock>
<TextBlock Text="Font Awesome" FontSize="32" Margin="10" VerticalAlignment="Center"></TextBlock>

</StackPanel>

</Grid>

Обратите внимание на свойство "Text" блока "tbFontAwesome", его Unicode for Heart.

Чит-лист

Ответ 2

Чтобы распространить принятый ответ, потому что он несколько устарел и не хватает информации, вот что я сделал:

  • Скачать FontAwesome
  • Распаковать архив
  • Внутри распакованной папки, находящейся под папкой " use-on-desktop ", найдите нужную версию. NB Solid имеет большинство значков бесплатно; некоторые значки требуют оплаты Pro для версий Regular и Light.
    • Для меня это был Font Awesome 5 Free-Solid-900.otf.
  • Следуя принятому ответу и большинству руководств, сначала создайте подпапку в проекте С# с именем Fonts. Вставьте файл шрифтов внутри этой папки.
  • Я переименовал этот файл FontAwesome.otf для краткости
  • Задайте свойства этого файла:
    • Действие сборки: ресурс
    • Копировать в выходной каталог: копировать, если новый/Копировать всегда
  • В вашем App.xaml <Application.Resources> или другом <ResourceDictionary>, вставьте:
  • <FontFamily x:Key="FontAwesome">/YOUR_PROJECT_NAME;component/Fonts/FontAwesome.otf#Font Awesome 5 Free Solid</FontFamily>
    • Замените YOUR_PROJECT_NAME на свое название проекта. Я включаю это, потому что это необходимо, если вы используете MergedDictionaries для разных проектов.
    • Если вы не поместили файл в суб-папку проекта Fonts, переименуйте или пропустите эту часть пути.
    • Убедитесь, что имя файла соответствует: замените FontAwesome.otf на имя файла (или переименуйте сам файл).
    • Проверьте внутреннее имя шрифта. Вы можете сделать это, выполнив принятый ответ. (Откройте файл.otf или.tff из проводника, чтобы запустить Windows Font Viewer, скопируйте имя шрифта).
    • Замените шрифт Awesome 5 Free Solid на имя шрифта (после #).
    • Не устанавливайте шрифт, иначе вы не можете проверить, правильно ли вы выполнили эти шаги, и шрифт может не работать на компьютерах, на которых не установлен шрифт.

Ответ 3

Вы также можете вручную выбрать FontAwesome из свойства FontFamily TextBlock. Это решит проблему.

Если FontAwesome не входит в список шрифтов, вам, вероятно, потребуется импортировать файл шрифта так же, как предложенный первый ответ.