wpf window 的默认字体大小是如何确定的?

How is the default font size for a wpf window determined?

我知道在 WPF 中,控件使用的字体大小由父控件决定,除非定义了覆盖。

鉴于我没有在我的应用程序中的任何地方定义字体大小,我假设默认字体大小是为顶级配置的 Window。

此值是否由应用程序 运行 所在的系统确定(如果是,在哪里?);或者它是由一些内置的 WPF 默认值决定的(如果是的话是什么?)

默认字体大小由 FontSize 依赖性 属性 的 TextElement class: https://referencesource.microsoft.com/#PresentationFramework/src/Framework/System/Windows/Documents/TextElement.cs,e28640b48d79de57 决定。它默认为 SystemFonts.MessageFontSize,默认值为 12

Control 基础 class 它们将自己添加为此依赖项的所有者 属性 并定义了自己的 FontSize 属性 任何控件都可以设置为自定义值。

有关这方面的更多信息,请参阅以下博客 post:https://blog.davidpadbury.com/2008/08/30/change-the-default-font-of-a-wpf-application/