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

如何在运行时在WPF中加载外部字体文件,wpf,Wpf,这个问题已经被问过了,我已经尝试过了所有的解决方案,但它对我来说不起作用。 我的硬盘上某处有一个TTF文件,我尝试在单击按钮时加载并使用它,而不使用XAML。它是完全动态的,所以我不想涉及资源 这是我的密码: var path = @"D:\Fonts\Ashley.ttf"; btn.FontFamily = new FontFamily(new Uri(path), "Ashley"); 但它不起作用。你能给我一个可行的解决方案吗?不幸的是,无法直接引用字体文件路径。您需要两样东西:字体文

这个问题已经被问过了,我已经尝试过了所有的解决方案,但它对我来说不起作用。 我的硬盘上某处有一个TTF文件,我尝试在单击按钮时加载并使用它,而不使用
XAML
。它是完全动态的,所以我不想涉及资源

这是我的密码:

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

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

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

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

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

有关参考信息,请参阅MSDN文档“FontFamily类”中的章节。

感谢它终于起作用了。最重要的一点是不要使用
Uri
,而是直接将其作为字符串传递。