WPF窗口等比例缩放,自适应分辨率
程序员文章站
2022-06-07 15:16:17
...
使用控件说明
- Viewbox控件说明:
ViewBox组件的作用是拉伸或延展位于其中的组件,使之有更好的布局及视觉效果。
组件常用属性:
- Child:获取或设置一个ViewBox元素的单一子元素。
- Stretch:获取或设置拉伸模式以决定该组件中的内容以怎样的形式填充该组件的已有空间。
- StretchDirection:获取或设置该组件的拉伸方向以决定该组件中的内容将以何种形式被延展。
Viewbox可更改Stretch属性选择子元素如何放入Viewbox的可用空间,Stretch的枚举如下:
Fill:调整内容的大小以填充目标尺寸,不保留纵横比;
None:内容保持其原始大小;
Uniform:在保留内容原有纵横比的同时调整内容的大小,以适合目标尺寸。
Viewbox中的Stretch属性值默认为Uniform;
UniformToFill:在保留内容原有纵横比的同时调整内容的大小,以填充目标尺寸。 如果目标矩形的纵横比不同于源矩形的纵横比,则对源内容进行剪裁以适合目标尺寸;
-
Canvas 控件说明:
Canvas为容器控件,用于定位
可以把Canvas比作一个坐标系,所有的元素通过设置坐标来决定其在坐标系中的位置.这个坐标系的原点并不是在*,而是位于它的左上角.见下图
元素设置坐标的方法共有四个:Canvas.Top 设置元素距Canvas顶部的距离 Canvas.Bottom 设置元素距Canvas底部的距离 Canvas.Left 设置元素距Canvas左边界的距离 Canvas.Right 设置元素距Canvas右边界的距离
窗体代码:
<Window x:Class="WpfApplication5.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<Grid>
<Viewbox Stretch=" fill">
<Canvas Width=" 525" Height=" 350">
<Button Content="按键1" HorizontalAlignment="Left" Margin="28,23,0,0" VerticalAlignment="Top" Width="75"/>
<Button Content="按键2" HorizontalAlignment="Left" Margin="416,275,0,0" VerticalAlignment="Top" Width="75"/>
</Canvas>
</Viewbox>
</Grid>
</Window>
部分解析:
由于ViewBox的stretch属性默认是Uniform,所以我们要设置为Fill,这样能保正是填充满窗体,canvas的宽度和高度必须设定,否则显示不出来。这样创建的窗体缩放时控件会变形但是布局不会发生变化。
上一篇: 日期累加
推荐阅读
-
WPF禁止窗口缩放和移动
-
jQuery实现等比例缩放大图片让大图片自适应页面布局
-
vue项目PC端随屏幕分辨率与窗口大小自适应
-
vue项目PC端随屏幕分辨率与窗口大小自适应(五步完成,吐血干货)
-
vue项目PC端屏幕分辨率与窗口大小自适应
-
WPF窗口等比例缩放,自适应分辨率
-
紧急求助:如何实现背景图片自适应分辨率和IE窗口的调整_html/css_WEB-ITnose
-
jQuery实现等比例缩放大图片让大图片自适应页面布局_jquery
-
紧急求助:如何实现背景图片自适应分辨率和IE窗口的调整_html/css_WEB-ITnose
-
jQuery实现等比例缩放大图片让大图片自适应页面布局_jquery