假设我有TextBlock文字"Some Text"和字体大小10.0.
我怎么能算出合适的TextBlock 宽度?
我正在创建一个WPF应用程序,我想知道能够更改ui中每个元素的字体大小的最佳方法.我是否创建资源字典并设置样式以设置我使用的所有控件的字体大小?
什么是最佳做法?
Microsoft在其UI准则中使用对话框长度单位(DLU).如何将它们转换为像素?
据我所知,DLU取决于系统字体大小.你能在Delphi for Win32中建议一些简单的转换方法吗?
假设您有一个带有多个按钮的窗口,例如Ok/Cancel或Yes/No/Cancel.所有按钮的宽度必须相同.显然,这可以通过猜测一个数字并将所有数字硬连接到该数字来完成.
有没有更好的方法来做到这一点,一个会考虑首选/推荐的尺寸(Ok按钮应该有多宽?这不是一个修辞问题,我实际上不知道答案!),需要什么通过最长字幕的文字,如果字体大小增加会发生什么?
如何在WPF中使用字体缩放表单?
即什么是WPF相当于
Run Code Online (Sandbox Code Playgroud)this.Font = SystemFonts.IconTitleFont;
在WinForms中,如果您是一名优秀的开发人员,则尊重用户的字体首选项.一个WinForm,起始于:

然后,您应用用户的字体首选项:
this.Font = new Font("Segoe Print", 11, GraphicsUnit.Point);
Run Code Online (Sandbox Code Playgroud)
并在表单元素比例,以适应新的大小:

注意:
注意:在WinForms中,您还可以使用以下行:
Run Code Online (Sandbox Code Playgroud)this.Font = SystemFonts.IconTitleFont;WPF不支持
Font,这就是为什么我提供了更清晰的选择.对于下面的例子.
类似的WPF表格开头为:

然后,您应用用户的字体首选项:
this.FontFamily = new FontFamily("Segoe Print");
this.FontSize = 14.666; //11pt = 14.66
Run Code Online (Sandbox Code Playgroud)
并且表单上的元素不会缩放以适应新的大小:

注意:
以下是两个大小相同的按钮的另一个示例:
的WinForms:

Windows Presentation Foundation:
