WPF:条码字体错误?

时间:2019-03-07 18:07:25

标签: wpf xaml fonts barcode

情况

-我在WPF应用程序中创建了一个文件夹“ Fonts”,并添加了5种字体。

-然后,我在“资源”中添加了字体。

enter image description here

XAML(我尝试将pack:app ,, ..写入其中,但没有帮助)

<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">

  <FontFamily x:Key="Default">/Design/Fonts/#arial</FontFamily>
  <FontFamily x:Key="Rounded">/Design/Fonts/#BUNGASAI</FontFamily>
  <FontFamily x:Key="BarcodeCode39">/Design/Fonts/#Code39r</FontFamily>
  <FontFamily x:Key="Barcode3of9X">/Design/Fonts/#FRE3OF9X</FontFamily>
  <FontFamily x:Key="Barcode3of9">/Design/Fonts/#FREE3OF9</FontFamily>

</ResourceDictionary>

问题

问题是它对于Arial和Bungasai或其他普通字体都非常有效,但是每当我尝试使用这些“条形码”字体时,它就会显示arial。

MAYBE相关信息

这就是我在

中使用字体的方式

XAML

不起作用:

<TextBlock Name="BarcodeContent"
           FontFamily="{StaticResource BarcodeCode39}"/>

完美运行:

<TextBlock Name="BarcodeContent"
           FontFamily="{StaticResource Rounded}"/>

1 个答案:

答案 0 :(得分:0)

使用ttf文件时,用于字体的名称(在#之后)是字体名称。可以但不必与文件名相同。

例如。

我们的游戏使用了一些自定义的维多利亚风格的字体。其中之一是ephinol.ttf。

如果我右键单击文件浏览器中的ephinol.ttf文件并选择预览,我会看到一个字体对话框,其中包括不同大小的字体示例。

顶部是字体的全名。

哪个是Ephinol WF。

因此,我将使用#Ephinol WF而不是#Ephinol

但是,我不这样做。

此刻我要做的是安装字体文件。然后,我不需要使用包符号来使用字体。我这样做是为了确保不会发生内存泄漏。

否则,我想使用完整的文件路径或另一轮工作(请参阅链接)。

这是一个很小的内存泄漏,但这是每次使用。

https://github.com/MaterialDesignInXAML/MaterialDesignInXamlToolkit/issues/746

enter image description here