请帮助我了解如何自定义字体安装在桌面应用程序上的WinUI 3。
我使用了以下安装方法:
1.在App.xaml中定义的字体资源
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<XamlControlsResources xmlns="using:Microsoft.UI.Xaml.Controls"/>
</ResourceDictionary.MergedDictionaries>
<FontFamily x:Key="AmoreizaBoldFont">/Sources/Fonts/Amoreiza Bold.ttf#Amoreiza</FontFamily>
<FontFamily x:Key="AmoreizaRegularFont">/Sources/Fonts/Amoreiza.ttf#Amoreiza</FontFamily>
<FontFamily x:Key="RobotoFont">/Sources/Fonts/Roboto-Regular.ttf#Roboto</FontFamily>
<FontFamily x:Key="HellowinsFont">/Sources/Fonts/Hellowins.ttf#Hellowins</FontFamily>
<FontFamily x:Key="YuGothicMediumFont">/Sources/Fonts/YuGothM.ttc#Yu Gothic</FontFamily>
</ResourceDictionary>
</Application.Resources>
1.然后在MainWindow.xaml中使用这些资源<TextBlock FontFamily="{StaticResource HellowinsFont}" Text="Title"/>
具体来说,在这个例子中,一切都正常。但问题是,我完全不明白它是如何运作的,以及为什么会运作。我一直在寻找一个非常,非常,非常长的时间来找到一个字体名称后的#符号。就像猜谜游戏。我试图使用允许您查看字体更详细属性的应用程序,更具体地说,我使用了dp 4字体查看器应用程序,但它也没有帮助我。在某些情况下,此名称完全不明显,不会出现在此程序中。问题是我怎么知道这个名字一定有办法不陷入猜谜游戏。
第二项质询。作为我的测试结果,我意识到更改字体文件的名称会导致字体无法再次工作。当然,前提是所有路径/名称也已更新。即使使用正确的#FontName。为什么会这样?这里的文件名是如何绑定的?
第三个问题。假设我奇迹般地让前面的代码工作了,但当我试图添加更多字体时:
<FontFamily x:Key="Font1">/Sources/Fonts/Raleway-Italic-VariableFont_wght.ttf#Raleway</FontFamily>
<FontFamily x:Key="Font2">/Sources/Fonts/Raleway-VariableFont_wght.ttf#Raleway</FontFamily>
我又什么都没得到。这些字体是从Google Fonts下载的。文件名未更改。#FontName我已经尝试了一堆不同的,但我找不到任何东西。我用了dp 4字体查看器,但它也没有帮助我。
请解释我做错了什么:)
2条答案
按热度按时间zvokhttg1#
我怎么会知道这个名字一定有办法不陷入猜谜游戏。
这个链接可能会有帮助。通常,它是Title属性,没有Font Style,如 Regular 或 Bold(如果有的话)。您可以通过右键单击 *.ttf文件并选择 * 属性 *,然后选择 * 详细信息 * 来查看标题。
第二项质询。作为我的测试结果,我意识到更改字体文件的名称会导致字体无法再次工作。当然,前提是所有路径/名称也已更新。即使使用正确的#FontName。为什么会这样?这里的文件名是如何绑定的?
您可以使用文件资源管理器更改 *.ttf文件名。我的第一个猜测是,您正在文件资源管理器中更改文件名,而不是在Visual Studio的解决方案资源管理器中更改。
第三个问题。假设我奇迹般地让前面的代码工作了,但当我试图添加更多字体时:我又什么都没得到。
确保新 *.ttf文件的Build Action设置为Content。
nhn9ugyo2#
参考:https://learn.microsoft.com/en-us/answers/questions/1195617/how-to-use-my-downloaded-fonts-in-winui-3
1.我可以在 *Windows字体查看器 * 中找到字体名称。
和