WPF和Font使用连字符图标的可怕问题

人气:332 发布:2022-10-16 标签: user-interface c# wpf visual-studio font-awesome

问题描述

我正在我的WPF应用中使用FontAwesom作为图标。

单名称图标一切正常,但每当我尝试使用带连字符的图标名称时,字体都无法理解这一点,要么不绘制任何内容,要么分别绘制两个图标(如果存在)(如果存在)。

这将绘制用户图标。太好了。

<!--FontAwesome Font applied in style-->
<TextBlock Style="{DynamicResource mainButtonImage}" Margin="5" Text="user"></TextBlock>

这将绘制用户图标、&-和一个圆形图标。它应该是用户圈图标。

<TextBlock Style="{DynamicResource mainButtonImage}" Margin="5" Text="user-circle"></TextBlock>

它应该绘制以下内容:https://fontawesome.com/icons/user-circle?style=regular

当我在我的系统上使用记事本进行测试时,它可以正常工作。

有什么想法吗?

推荐答案

我通过以下两种方式实现了用户圈图标:

方法一:

1.您可以在项目的Package NuGet Manager中安装FontAwesome.WPF

2.将xmlns:fa="http://schemas.fontawesome.io/icons/"导入您的XAML代码。

3.在TextBlock中使用它,如下所示:

<fa:FontAwesome Icon="UserCircle" FontSize="100"></fa:FontAwesome>

方法二:

1.在fontawesome下载字体棒极了。

2.解压缩文件并将字体作为资源复制到项目中。路径为Fontfa-regular-400.ttf

3.在Windows中添加FontAwesome样式。资源:

<Window.Resources>
        <Style x:Key="FontAwesome">
            <Setter Property="TextElement.FontFamily" Value="pack://application:,,,/Font/#Font Awesome 5 Free Regular" /> 
        </Style>
    </Window.Resources>

4.在TextBlock中使用样式,并将用户圈的Unicode代码编写为如下文本:

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

也许您可以参考这两种方法来实现您的程序。

642