WPF 自适应屏幕布局

在桌面应用程序中,如果窗体大小改变,而窗体中的内容大小保持不变,空出来的背景色与桌面背景不一样,会变得非常难看,用户体验不好,针对这个问题,有一种解决办法是自适应屏幕分辨率。下面说说怎么自适应屏幕分辨率的。首先来看一下效果,

                                                                     图1- 初始屏幕大小

                                                                                                      图2-全屏

容器控件采用DockPanel 把LastChildFill属性设置True

容器控件中包含三个控件,顶层为menu控件 注意menu属性设置 DockPanel.Dock="Top" VerticalAlignment="Top";中间放一个viewbox ,viewbox属性设置: Stretch="Fill";底层放一个StatusBar ,StatusBar属性设置为:DockPanel.Dock="Bottom" Height="20" VerticalAlignment="Bottom",这样自适应分辨率的外层环境变建立起来了,viewbox中放入内容即可。代码如下所示,

 1 <DockPanel LastChildFill="True" >
 2         <Menu DockPanel.Dock="Top" VerticalAlignment="Top" ></Menu>
 3         <Viewbox Stretch="Fill" >
 4 
 5             <Canvas HorizontalAlignment="Left" VerticalAlignment="Stretch" Background="#00A4C3EB" Width="1024" Height="630" >
 6                 
 7                 
 8             </Canvas>
 9             
10         </Viewbox>
11         <StatusBar DockPanel.Dock="Bottom" Height="20" VerticalAlignment="Bottom"></StatusBar>
12     </DockPanel>
原文地址:https://www.cnblogs.com/langhua/p/3081153.html