当前位置:  开发笔记 > 编程语言 > 正文

如何在WPF中使用不同的坐标系?(仅缩放)

如何解决《如何在WPF中使用不同的坐标系?(仅缩放)》经验,为你挑选了1个好方法。

(让我给你一些背景)我正在设计一个应用程序,它应该根据一些数据生成一个可打印的A4页面.当然,WPF(96像素/英寸)的独立于设备的像素在纸张世界中不是非常自然的测量单位.像毫米这样的东西会更合适.所以我拿出了我的计算器并达到了3.779左右的比例因子.

事实证明,简单地将所有应该放在页面上的内容放在一个ScaleTransform有一个令人讨厌的副作用:字体大小也是(自然地)缩放.然而,这不是我的意图.我希望12pt Arial像12pt一样渲染Arial会正常渲染.

有没有其他方法可以更改坐标系,而无需调用扩展或任何转换每个坐标,长度,厚度等等?- 或 - 是否有任何方法可以即时映射字体大小,是DependencyProperties?通过包装所有纸质内容的自定义控件,也许?



1> Steffen Opel..:

对于概述的要求,您根本不需要做任何特殊的事情,只需继续使用厘米作为WPF元素本身的度量单位(即没有任何变换) - WPF设备独立性的本质允许您进行以下操作:


    
        
    

那就是:你将获得一个A4'窗口,在' cm'中指定一个居中的方形TextBox in'和' '中指定的字体pt.如果需要,所有这些都可以通过您可能另外应用的任何变换进行正确缩放(例如,通过用户视图端口的缩放滑块),尊重它们的相对大小,无论是否使用不同的单位指定(即随意混合使用).

可选择的单位为px(默认), in,cmpt,例如参见FrameworkElement.Height对他们的详细规格.

推荐阅读
ifx0448363
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有