WPF入門教程系列一

WPF入門教程

 

1、  前言 數據庫

公司項目基於WPF開發,最近項目上線有點空閒時間寫一篇基於wpf的基礎教材,WPF也是近期才接觸,學習WPF也是在網上查資料與微軟的MSDN進行學習,寫本博客的目爲了溫故而知新把學習過程記錄下來,以備後查。框架

學習WPF的基礎知識:工具

1)   WPF是微軟提供的一種用來開發「桌面應用」的技術(框架),這項技術自己和C#沒有關係,必須會的是xaml語法。佈局

2)   對XML、HTML、XHTML、ASP.NET之類的「標準通用標記語言」,對於學習是有所幫助的。學習

3)   WinForm或ASP.NET經驗,主要是對控件事件的處理要有所瞭解。開發工具

4)   具有面向對象的思想:在WPF中,常常要靈活運用各類繼承關係、多態、重載等。spa

5)   DataBinding要有所瞭解:Binding是WPF的一大亮點。設計

 

2、  本系列使用到的工具:orm

1)        開發環境:Windows 7對象

2)        開發工具:Visual Studio 2017

3)        數據庫:Access數據庫,SQLite

 

3、  WPF開發基礎

1.打開Visual Studio 2017 ,選擇「菜單—》文件—》新建—》項目」。以下圖。

 

2.在「新建項目」對話框中選擇「WPF應用程序」,修更名稱爲本身項目的名稱,而後點擊「肯定」按鈕,便成功建立了一個「WPF應用程序」。新建立的項目所引用的公共類庫以下。以下圖。(「WPF應用程序」會在「引用」裏面自動添加下圖中所示的 PresentationCore、PresentationFramework、WindowsBase三大核心程序集)。

 

3. 項目的生成的文件結構。以下圖。

 

4.在App.xaml中的「StartupUri」屬性能夠指定項目運行時的啓動窗體。以下圖中「StartupUri=」MainWindow.xaml」,還能夠定義咱們須要的系統資源以及引入程序集等。以下圖。

 

5. MainWindow.xaml的設計窗體中咱們能夠修改Title。還能夠設置MainWindow的屬性和添加事件。完成了這些設置之後,咱們就能夠對窗體添加內容了,以下圖。

 

6. 我在這個窗體中添加了一個 Viewbox,  ViewBox組件的做用是拉伸或延展位於其中的組件,使之有更好的佈局及視覺效果。

7.介紹下wpf最經常使用的幾種佈局方式

1)StackPanel:堆棧面板,經過Orientation屬性設置子元素的佈局排列方向爲「Vertical」(垂直)和「Horizontal」(水平),不寫其默認值爲「Vertical」,當設置爲「Vertical」時子元素會沿水平方向拉伸,反之設置爲「Horizontal」時子元素會沿垂直方向拉伸。

2)DockPanel:支持子元素停靠在面板的任意一條邊上,經過附加屬性Dock控制他們的停靠位置(Left、Top、Right、Bottom),填充空間按照「先到先得」的原則,最後一個加入面板的子元素將填滿剩下的空間,如不想將最後加入面板的元素填滿剩下的空間將屬性LastChildFill值設爲「False」,默認爲「True」。

3)WrapPanel:可換行面板與StackPanel類似,經過Orientation屬性設置子元素的排列順序,從左至右按順序位置定位子元素,當前行沒法放下元素時斷開至下一行,或者排序按照從上至下或從右至左的順序進行,經過ItemHeight能夠設置當前面板中全部子元素的高度,固然也有ItemWidth設置全部子元素的寬度。

 4)Canvas:面板是最輕量級的佈局容器,它不會自動調整內部元素的排列和大小,不指定元素位置,元素將默認顯示在畫布的左上方。Canvas主要用來畫圖。Canvas默認不會自動裁剪超過自身範圍的內容,即溢出的內容會顯示在Canvas外面,這是由於Canvas的ClipToBounds屬性默認值是「False」,咱們能夠顯式地設置爲「True」來裁剪多出的內容。下面XAML代碼簡單演示了Canvas面板的使用。

6)   Grid:比起其餘Panel,功能是最多最爲複雜的佈局控件。它由<Grid.ColumnDefinitions>列元素集合和<Grid.RowDefinitions>行元素集合兩種元素組成。而放在Grid面板中的元素必須顯式採用附加屬性定義其所在行和列,不然元素均默認放置在第0行第0列。

4、  小結

WPF佈局牽涉的內容不少,只有在平時不斷積累才能漸趨完善!本人接觸WPF不到一年,寫的很差勿噴,有不足之處還望你們多多指正。

相關文章
相關標籤/搜索