如何更改 WinUI 应用程序的默认字体?
Posted
技术标签:
【中文标题】如何更改 WinUI 应用程序的默认字体?【英文标题】:How do I change the default font of my WinUI application? 【发布时间】:2022-01-19 02:32:12 【问题描述】:我在 Microsoft 网站或 winui github 上找不到任何指导。我正在开发一个 WinUI 3 应用程序,并且以前曾在 WPF 上工作过。我尝试使用 WPF 方法在***别为我的应用程序设置默认 FontFamily,但它似乎不起作用。
例如,在 WPF 中,我会将 FontFamily 作为资源包含在 App.xaml.cs 文件中。
<ResourceDictionary>
<FontFamily x:Key="MyCustomFont">pack://application:,,,/MyAssembly;component/Fonts/#CustomFontName</FontFamily
<ResourceDictionary.MergedDictionaries>
<!-- Removed for brevity -->
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
然后我会在我的窗口中相应地设置它,所有文本块等都会更改为我的自定义字体:
<Window FontFamily="StaticResource MyCustomFont">
我尝试在 WinUI 中做同样的事情,但 Window 上不再有 FontFamily 依赖属性,所以我不知道该怎么做。
任何帮助将不胜感激!
【问题讨论】:
【参考方案1】:在进一步挖掘在线帮助后,我发现了一个适用于 WinUI 应用程序的策略。
将以下内容添加到您的 App.xaml.cs,您的自定义字体现在将成为所有窗口和页面的默认字体。
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<XamlControlsResources xmlns="using:Microsoft.UI.Xaml.Controls" />
<!-- Other merged dictionaries here -->
</ResourceDictionary.MergedDictionaries>
<!-- Other app resources here -->
<ResourceDictionary.ThemeDictionaries>
<ResourceDictionary x:Key="Default">
<FontFamily x:Key="MyCustomFont">ms-appx:///MyOtherAssembly/Subfolder/fontfile.ttf#MyCustomName</FontFamily>
</ResourceDictionary>
</ResourceDictionary.ThemeDictionaries>
</ResourceDictionary>
</Application.Resources>
【讨论】:
有没有关于这个的官方 msft 文档?以上是关于如何更改 WinUI 应用程序的默认字体?的主要内容,如果未能解决你的问题,请参考以下文章
如何更改 MS Access 2016 中的默认数据表字体?
如何在 Eclipse 中更改 Python 代码的默认字体?