wpf 添加了viewbox之后,画布里面的内容就不显示了,怎么解决,我需要画布的内容随着窗口一起放大

wpf 添加了viewbox之后,画布里面的内容就不显示了,怎么解决,我需要画布的内容随着窗口一起放大,第1张

设置一下Canvas的尺寸,比如:

    <Viewbox>

        <Canvas Height="100" Width="100">

            <Button >button</Button>

        </Canvas>

    </Viewbox>

  <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>

主要部分是我们在Canvas最外层添加了ViewBox,由于ViewBox的stretch属性默认是Uniform,所以我们要设置为Fill,这样能保正是填充满窗体,canvas的宽度和高度必须设定,否则显示不出来。

容器控件采用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>


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11245837.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-14
下一篇 2023-05-14

发表评论

登录后才能评论

评论列表(0条)

保存