WPF处理内容溢出
1、剪切(clipping)
大部分面板都有一个Boolean的属性ClipToBounds并且它们的值都设为true,所以只要是溢出面板的都会被剪切掉
只有 Canvas面板的这个属性可以设置,并且ClipToBounds的值默认是false。
2、滚屏(scrolling)
只需将所有的元素(或面板)放入到一个<ScrollViewer >.....</ScrollViewer>内即可。他有属性:VerticalScrollBarVisibility(默认值Visible)和HorizontalScrollBarVisibility(默认值Auto)可以设置他们的值:Visible,Hidden,Auto,Disabled
3、缩放(scaling)
将内容放置到<Viewbox>...</Viewbox>之内即可实现缩放。
属性Stretch:值
Uniform(默认):显示整个元素到窗体的空间上,会随着窗体的大小而自动缩放,(但是某个方向上可能因为比例不合适而无法填充剩余空间)
UniformToFill:在保存外观比例同时缩放子元素来完全填充viewbox内的空间(但是某个方向上可能因为比例不合适而要截断部分显示)
None:不进行缩放,与不用viewbox没什么区别。
Fill:显示子元素到viewbox中,各个方向都要拉伸以填充所有空间。
属性StretchDirection值
Both(默认)扩大或缩小内容。DownOnly:如果合适缩小内容。如果内容足够小,viewbox保持当前内容大小不变。UpOnly:如果合适扩大内容,如果内容足够大,Viewbox保持当前内容大小不变。