WPF自學入門(二)WPF-XAML布局控制項

來源:互聯網
上載者:User

標籤:xaml   obj   emc   學習   說明   dockpanel   很多   dea   自學   

     上一篇介紹了xaml基本知識,我們已經知道了WPF簡單的文法。那麼接下來,我們要認識一下WPF的版面配置容器。版面配置容器可以使控制項按照分類顯示,我們一起來看看WPF裡面可以使用哪些版面配置容器用來布局。

       在WPF中,布局是由版面配置容器來完成的,容器裡面是可以放控制項,容器裡面也可以放容器。而在WPF中,版面配置容器有很多,下面主要介紹最常用的幾種版面配置容器,

      下面分別介紹StackPanel,WarpPanel,DockPanel,Grid,Canvas五種版面配置容器

 

一、StackPanel

       在WPF中StackPanel的功能是,緊湊地把子控制項按照一定規律地排列在一起,基本的相片順序有兩種,一種是橫排列<StackPanel Orientation="Horizontal"/>,一種是豎排列<StackPanel Orientation="Vertical">。下面看一下這個版面配置容器的使用

 

這裡隨便說一下Margin屬性,Margin屬性定義控制項的外邊緣,可以通過以下幾種方式來設定

1、Margin=”10”:各邊緣均為10

2、Margin=”10,20,30,40”:設定左、上、右、下各邊緣分別為10、20、30、40

3、使用拆分式方式設定Margin=”20,10”,如上下為10,左右為20

 

二、WarpPanel

StackPanel是比較有局限性的,那麼WPF怎麼解決這個問題呢,WarpPanel和DockPanel就是補充StackPanel功能的版面配置容器,下面通過觀察來對比一下兩個版面配置容器的區別吧。看一下WarpPanel到底改進了什麼功能?

看到上面的運行結果,我想大家已經知道了,區別在哪裡,WarpPanel是可以根據容器的大小變化,來滾動控制項的排布的。而StackPanel只是死死地盯住控制項,容器小了,就會遮擋內容。

 

三、DockPanel

       DockPanel版面配置容器是以上、下、左、右、中為基本結構的布局方式,主要是控制項的停靠方式。有類似於港口停船的方式。我們可以利用DockPanel.Dock這個附加屬性來設定控制項的停泊方式的。有四個方式,上下左右。

 

 

四、Grid

      在WPF中可以說最強大的版面配置容器就是Grid了,我們剛才示範的容器都可以放置在Grid中,因為Grid可以模仿除了Warppanel之外的所有版面配置容器的功能。Grid其實就是把一個頁面分為一格格,然後再這些格上面放東西。

      在布局控制項之前,我們首先要做的是布局Grid容器,因為Grid容器是由小網格組成,那麼我們在版面配置容器的時候就要設定好有多少行,有多少列。然後就形成了用這些行和列分隔開的網格了

       我們用<ColumnDefinition>標籤來定義列的,用<RowDefinition>來定義行的。我們定義的5*5的Grid版面配置容器。

      注意,預設情況下是平均分,但是有很多情況不是平均分的,我們可以設定高度或者寬度的值,有三種方式.我們利用列來說明:

         第一就是Width="*",這種是按比例分的,2*就是2倍的意思了。

        第二就是Width="auto"自動分配,就是根據內容分配空間。

        第三就是Width="Value"一個確定的值。這個屬性可以這樣寫

<ColumnDefinition Width="*"></ColumnDefinition>

<ColumnDefinition Width="Auto"></ColumnDefinition>

<ColumnDefinition Width="2*"></ColumnDefinition>

        定義Grid的行和列以後,網格就出來了就可以再裡面放內容了

我們通過Grid.Row和Grid.Column來把空間放進去。當然,我們也可以在容器裡面的空間標籤中加入各種屬性來改變一些東西,如Margin,當我們不想看到分割線的話,也可以設定ShowGridLines=false來取消。我們可以再方格裡面鑲嵌一個版面配置容器,在裡面繼續布局。

 

五、Canvas

        Canvas版面配置容器就好像傳統的布局一樣,基於座標的布局,利用Canvas.Left,Canvas.Top,Canvas.Right,Canvas.Bottom這四個附加屬性來定位控制項座標。

WPF中使用的座標是以左上方為原點,向右為X軸,向下為Y軸的。

座標點就是控制項的左上方的位置。

 

PS:本人也是WPF的初學者,如有不對的地方,歡迎在評論區多多指教,學習,為了分享,為了提高。

WPF自學入門(二)WPF-XAML布局控制項

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.