Canvas.Top和Canvas.Left屬性

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,許多東西還是知道甚少,如有問題,歡迎大家指正。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章