日期:2014-05-17  浏览次数:20840 次

WPF,请看下Canvas的布局

<Window x:Class="WPF3.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">
    <Canvas Background="Red">
    </Canvas>
</Window>



Canvas是基于绝对定位的,并且不使用HorizontalAlignment属性和VerticaLAlignment属性,因此,此例中的Canvas的尺寸应该是0×0啊,可是为什么它却铺面了窗口呢?

------解决方案--------------------
看了你好几个帖子了,你的根本思想本身就错了,一直就是错的,所以你很难理解。
Canvas是基于绝对定位的,这是指Canvas内部的元素,而Canvas本身的大小和位置受外部布局的控制。
一个控件或者布局,对内和对外是要分开来想的,你总是混为一谈,那么永远也搞不懂这些事情。