WPF 控件分辨率自适应问题

WPF 控件分辨率自适应时,我首先想到的是使用ViewBox控件来做分辨率自适应。

ViewBox这个控件通常和其他控件结合起来使用,是WPF中非常有用的控件。定义一个内容容器。ViewBox组件的作用是拉伸或延展位于其中的组件,以填满可用空间,使之有更好的布局及视觉效果。

组件常用属性:

Child:获取或设置一个ViewBox元素的单一子元素。

Stretch:获取或设置拉伸模式以决定该组件中的内容以怎样的形式填充该组件的已有空间。具体设置值如下:

|----------------|----------------------------------------------------------------------|
| None: | 内容保持其原始大小。 |
| Fill: | 调整内容的大小以填充目标尺寸。 不保留纵横比。 |
| Uniform: | 在保留内容原有纵横比的同时调整内容的大小,以适合目标尺寸。 |
| UniformToFill: | 在保留内容原有纵横比的同时调整内容的大小,以填充目标尺寸。 如果目标矩形的纵横比不同于源矩形的纵横比,则对源内容进行剪裁以适合目标尺寸。 |

**************************************************************************************************************

界面布局窗口控件自适应总结:

1、WPF采用Grid和DockPanel来实现窗体自适应,通过控件的Margain属性来调整控件的起始位置和大小,不能使用Height和Width属性;

2、如果要实现文本自动变化,采用Viewbox控件,可以使用Height和Width来调整控件大小;

3、想偷懒的话,可以把MainWindow的最外面一层Grid放入Viewbox中,这样只需稍微调整一下某些控件的布局即可达到整个窗体的自适应效果。

**************************************************************************************************************