有没有办法将外部字体定义为新的System.Drawing.FontFamily
?我尝试使用此代码:
FontFamily robotoLight = new FontFamily(new Uri("pack://application:,,,/"),
"./Fonts/#Roboto Light");
并显示此错误:
无法从
System.Uri
转换为string
我意识到我一直在使用不同的引用,而接受Uri
的引用是System.Windows.Media.FontFamily
,所以它不起作用。
我研究过并发现定义自定义字体是使用PrivateFontCollection.AddFontFile
,但它使用字体的绝对路径,如here所示。
我的字体目前位于项目内的fonts
文件夹中,并且构建为包含在.exe
文件中,所以绝对路径对我来说是不行的。
我需要使用System.Drawing
而不是System.Windows.Media
,因为我要创建自定义MessageBox
答案 0 :(得分:1)
System.Drawing.FontFamily
无法理解包URI。有关如何使用System.Drawing.FontFamily
类的嵌入字体的示例,请参阅以下问题: