发布
社区首页 >问答首页 >调整对话框字体的大小--使用GetStockObject(SYSTEM_FONT)

调整对话框字体的大小--使用GetStockObject(SYSTEM_FONT)
EN

Stack Overflow用户
提问于 2015-11-23 00:26:37
回答 2查看 232关注 0票数 0

我是一个经验丰富的开发人员谁是新的WPF。我欣赏WPF组件的所有灵活性,但是这种灵活性给我带来了一些麻烦。

具体来说,我想创建一个对话框。当我在C++/MFC或C#/Win窗体中这样做时,我的文本框和文本框字体将自动调整为系统对话框的大小。

但是在WPF中,我必须对文本框高度和字体大小进行硬编码。这显然意味着:

  1. 我必须猜测哪种字体大小最适合于对话框的用户系统字体设置,并且我的字体不会根据每个用户的系统设置进行调整。
  2. 更糟糕的是,我还必须猜测当前字体的最佳文本框大小。在其他平台上,这一直是自动的。

我只是想知道WPF开发人员是如何在对话框中处理文本框和字体大小的。

编辑:

换句话说,我希望文本框使用Windows调用GetStockObject(SYSTEM_FONT)返回的字体。这是WPF直接支持的吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-11-23 00:47:23

我很难理解您的问题,主要是因为WPF比MFC或Winforms更适合您所询问的场景。

  1. 我必须猜测哪种字体大小最适合于对话框的用户系统字体设置,并且我的字体不会根据每个用户的系统设置进行调整。

WPF使用与设备无关的度量标准。特别是,WPF像素总是每标称英寸96英寸。当然,取决于用户设置,WPF“英寸”的实际大小可能大于或小于实际英寸。但这些都是用户控制下的设置,专门设计来进行这样的缩放。

WPF模型的一个大优点是,与Winforms不同的是,与Winforms不同的是,无论大小如何,所有事物的相对布局都保持不变。在Winforms中,不同的事物大小不同,导致在不同的地方发生换行符,文本被截断等等。

  1. 更糟糕的是,我还必须猜测当前字体的最佳文本框大小。在其他平台上,这一直是自动的。

WPF Window类具有SizeToContent属性。如果将其设置为Both,该窗口将调整自身大小,以准确地包含您在其中放置的任何内容。这不是你想要的吗?

如果上面没有提到您的特定场景,请通过提供 code example来帮助我们理解您的场景,它清楚地显示了您遇到的问题,并详细解释了该代码所做的工作,以及它与您想要的不同之处。

票数 1
EN

Stack Overflow用户

发布于 2015-11-23 00:42:14

您可以将控件的大小设置为“自动”,如:<TextBlock Heigh="Auto" Text="Foobar"/>,控件的高度将适应内容。这也适用于任何控件上的任何高度或宽度属性。希望我有所帮助;)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33862007

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档