WPF Canvas實現(xiàn)絕對定位
WPF開發(fā)工具的出現(xiàn),為我們開發(fā)人員帶來了全新的編程體驗。開發(fā)人員使用則款工具,徹底突破了圖形界面開發(fā)的局限性,為編程帶來高效率。下面我們先來了解下WPF Canvas布局容器的相關概念。 #t#
Canvas是最精確的布局容器——絕對定位,此書作者不建議使用,因為控件的大小一般會隨著內(nèi)部字體圖片的動態(tài)生成而自動變化,所以使用前三種布局是***的選擇,在這一點上,我也持同樣意見。
Canvas使用Top/Bottom屬性控制距離頂部/底部的高度;使用Left/Right屬性控制距離左/右的距離。有趣的是,調(diào)整Form的大小,第二個TextBlock的位置會相應變化,但和底部以及右邊的距離是不變的,代碼見下:
- < Canvas Background="Yellow">
- < TextBlock Canvas.Left="10"
- Canvas.Top="20">Hello
- < /TextBlock>
- < TextBlock Canvas.Right="10"
- Canvas.Bottom="20">world!
- < /TextBlock>
- < /Canvas>
此外,Canvas不會自動裁減超過自身范圍的內(nèi)容,即多出的內(nèi)容會顯示在Canvas外面,那是因為默認ClipToBounds="False";如果設置ClipToBounds="True",則會裁剪多于內(nèi)容。
***,聯(lián)合使用ViewBox可以使自動布局控件調(diào)整大小。