WPF如何设置窗体的工作区域大小

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WPF如何设置窗体的工作区域大小相关的知识,希望对你有一定的参考价值。

WPF如何设置窗体的工作区域大小, winform里面是clientSize这个属性。

工作区大小不就是窗体大小吗?我试过了,窗体大小是300,300,clientSize设置为100,100,那整个窗体还是变成100,100,也就是说在WPF里面你只要设置Window的Width和Height就是一样的效果,不同意再追问。追问

WPF里width和height是包括窗体头部和四周边框的

追答

就算包括又怎么样?

追问

需要用到这个属性,设置工作区域

追答

你自己估算一下边框的大小再加减一下不就可以了?另外WPF的尺寸是与设备无关的,良好的设计应该是尽量避免尺寸的硬编码吧?

参考技术A 你随便建一个窗口,默认里面就有一个grid,设置grid的大小就变相的达到了clientsize的效果吧,
不清楚你要什么,

c#winform 关于页面大小与控件大小的问题

窗体页面设置了 windowState的Maximized的属性。打开软件肯定是最大屏幕,根据显示屏分辨率自动调整最大化。但是这样一来,页面的控件就出现了大小问题。如果我现在是19寸显示器开发的软件,窗体页面最大化没问题。我可以把控件手动拉到需要的大小。但是,换成其它分辨率的显示器,窗体大小是最大化了。但是我手动拖拽的控件大小不会随着显示器大小变化,这样就出现了空白区域。请问这样的问题该如何解决。当然我可以设置窗体大小的长宽,定义好这些。但是换成别的显示器,就不能做到最大化。谢谢大家来一起探讨这个问题。

窗体中有AutoScaleMode属性,默认值为Font,意思就是当更改系统字体时,窗体和控件的缩放标准。

按照你说的,换分辨率的情况下,你可以将此属性设置为Dpi,当更改分辨率时,窗体和控件按照这个标准缩放。
------------------------------------
至于你说的空白区域,那是因为窗体控件的位置及大小都是绝对的,窗体的大小变化影响不到控件。
不过你可以设置控件的Anchor属性,Top,Left,Right,Bottom,这四个属性说明该控件相对于窗体四边该怎样变化位置或大小。这个需要你自己亲自调试一下,才能更方便的应用。
参考技术A 方法很多,
1. 将某个或数个控件的dock属性设为fill。比如像资源浏览器一类的,右边放个listview,fill以后随窗体大小而变
2. 在调整大小的事件里手动改各控件的大小,一般按比例缩放
3. 用tablelayout或flowlayout布局,这两个也是能自调节的。本回答被提问者采纳
参考技术B anchor属性, 参考技术C 可以自己设置还有一个方式就是停靠

以上是关于WPF如何设置窗体的工作区域大小的主要内容,如果未能解决你的问题,请参考以下文章

panel怎么设置自适应窗体大小

c#winform 关于页面大小与控件大小的问题

WPF做一个界面,Label的字体如何随窗口的大小变化?

如何确定 WPF 控件使用的区域设置(区域性)?

c#winform 关于页面大小与控件大小的问题

如何将窗体窗口的所有者设置为 WPF 窗口?