我是一个经验丰富的开发人员谁是新的WPF。我欣赏WPF组件的所有灵活性,但是这种灵活性给我带来了一些麻烦。
具体来说,我想创建一个对话框。当我在C++/MFC或C#/Win窗体中这样做时,我的文本框和文本框字体将自动调整为系统对话框的大小。
但是在WPF中,我必须对文本框高度和字体大小进行硬编码。这显然意味着:
我只是想知道WPF开发人员是如何在对话框中处理文本框和字体大小的。
编辑:
换句话说,我希望文本框使用Windows调用GetStockObject(SYSTEM_FONT)
返回的字体。这是WPF直接支持的吗?
发布于 2015-11-23 00:47:23
我很难理解您的问题,主要是因为WPF比MFC或Winforms更适合您所询问的场景。
WPF使用与设备无关的度量标准。特别是,WPF像素总是每标称英寸96英寸。当然,取决于用户设置,WPF“英寸”的实际大小可能大于或小于实际英寸。但这些都是用户控制下的设置,专门设计来进行这样的缩放。
WPF模型的一个大优点是,与Winforms不同的是,与Winforms不同的是,无论大小如何,所有事物的相对布局都保持不变。在Winforms中,不同的事物大小不同,导致在不同的地方发生换行符,文本被截断等等。
WPF Window
类具有SizeToContent
属性。如果将其设置为Both
,该窗口将调整自身大小,以准确地包含您在其中放置的任何内容。这不是你想要的吗?
如果上面没有提到您的特定场景,请通过提供 code example来帮助我们理解您的场景,它清楚地显示了您遇到的问题,并详细解释了该代码所做的工作,以及它与您想要的不同之处。
发布于 2015-11-23 00:42:14
您可以将控件的大小设置为“自动”,如:<TextBlock Heigh="Auto" Text="Foobar"/>
,控件的高度将适应内容。这也适用于任何控件上的任何高度或宽度属性。希望我有所帮助;)
https://stackoverflow.com/questions/33862007
复制相似问题