Canvas.Top和Canvas.Left属性

  • Post author:
  • Post category:其他


Canvas控件提供一个画面用于在画布的特定坐标处显示子元素,属于绝对定位,相当于html中的div,Canvas.Top和Canvas.Left属性只有Canvas控件的子元素(并且是这个子元素紧挨着Canvas)用时才有效果,如下代码

<Canvas Background=”Red” >

<Rectangle Fill=”Green” Width=”100″ Height=”100″ Canvas.Top=”20″ Canvas.Left=”20″ > </Rectangle>

</Canvas>

运行的效果是


而如果父控件换成StackPanel

<StackPanel Background=”Red” >

<Rectangle Fill=”Green” Width=”100″ Height=”100″ Canvas.Top=”20″ Canvas.Left=”20″ > </Rectangle>

</StackPanel>

运行的效果如下


可以看出和第一次是不一样的效果,矩形跑到顶部中间去了,Canvas.Top和Canvas.Left并没有起作用

如果父控件换成Grid后运行的效果如下


矩形跑的页面的中心了,可以看出Grid表格布局特点,如果没有指定行列,默认是放到中间的有多个元素的会重叠的。

如图


以上只是本人做个简单例子测试下,由于刚接触sl,许多东西还是知道甚少,如有问题,欢迎大家指正。

转载于:https://www.cnblogs.com/majunfeng/archive/2011/08/07/3933832.html