как использовать значок [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="" />
Шаг 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="" 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 не входит в список шрифтов, вам, вероятно, потребуется импортировать файл шрифта так же, как предложенный первый ответ.