如何在运行时在WPF中加载外部字体文件

时间:2018-03-04 20:59:40

标签: wpf

这个问题已经被问到了,我已经尝试过每一个给定的解决方案,但它对我不起作用。 我的硬盘上有一个TTF文件,当我点击一个按钮而不使用XAML时,我尝试加载并使用它。它完全是动态的,所以我不想参与资源。

这是我的代码:

var path = @"D:\Fonts\Ashley.ttf";
btn.FontFamily = new FontFamily(new Uri(path), "Ashley");

但它不起作用。你能给我一个有效的解决方案吗?

1 个答案:

答案 0 :(得分:1)

不幸的是,它无法直接引用字体文件路径。您需要两件事:字体文件所在的目录和字体名称。

因此,在您的情况下,您可以使用以下代码设置字体系列:

btn.FontFamily = new FontFamily("file:///d:/Fonts/#Ashley");

有关参考,请参阅MSDN文档中的Specifying Fonts in Alternate Directories章节" FontFamily类"。