WPF入門教程系列一

2022-01-12 09:02:44 字數 2613 閱讀 5095

一、前言

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

學習wpf的基礎知識:

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

2)   對xml、html、xhtml、asp.net之類的「標準通用標記語言」,對於學習是有所幫助的。

3)winform或asp.net經驗,主要是對控制項事件的處理要有所了解。

4)具備物件導向的思想:在wpf中,經常要靈活運用各種繼承關係、多型、過載等。

5)   databinding要有所了解:binding是wpf的一大亮點。

二、本系列使用到的工具:

1)開發環境:windows 7

2)開發工具:visual studio 2017

3)資料庫:access

資料庫,sqlite

三、wpf開發基礎

1.開啟visual studio 2017 ,選擇「選單—》檔案—》新建—》專案」。如下圖。

2.在「新建專案」對話方塊中選擇「wpf應用程式」,修改名稱為自己專案的名稱,然後點選「確定」按鈕,便成功建立了乙個「wpf應用程式」。新建立的專案所引用的公共類庫如下。如下圖。(「wpf應用程式」會在「引用」裡面自動新增下圖中所示的presentationcore、presentationframework、windowsbase三大核心程式集)。

3. 專案的生成的檔案結構。如下圖。

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」。

34)canvas:面板是最輕量級的布局容器,它不會自動調整內部元素的排列和大小,不指定元素位置,元素將預設顯示在畫布的左上方。canvas主要用來畫圖。canvas預設不會自動裁剪超過自身範圍的內容,即溢位的內容會顯示在canvas外面,這是因為canvas的cliptobounds屬性預設值是「false」,我們可以顯式地設定為「true」來裁剪多出的內容。下面xaml**簡單演示了canvas面板的使用。

6)grid:比起其他panel,功能是最多最為複雜的布局控制項。它由列元素集合和行元素集合兩種元素組成。而放在grid面板中的元素必須顯式採用附加屬性定義其所在行和列,否則元素均預設放置在第0行第0列。

四、小結

wpf布局牽涉的內容很多,只有在平時不斷積累才能漸趨完善!本人接觸wpf不到一年,寫的不好勿噴,有不足之處還望大家多多指正。

WPF入門教程系列一 基礎

一 前言 最近在學習wpf,學習wpf首先上的是微軟的msdn,然後再搜尋了一下網路有關wpf的學習資料。為了溫故而知新把學習過程記錄下來,以備後查。這篇主要講wpf的開發基礎,介紹了如何使用visual studio 2013建立乙個wpf應用程式。首先說一下學習wpf的基礎知識 1 要會一門.n...

WPF入門教程系列一 基礎

原文 wpf入門教程系列目錄 wpf入門教程系列四 dispatcher介紹 wpf入門教程系列五 window 介紹 wpf入門教程系列六 布局介紹與canvas 一 wpf入門教程系列八 布局之grid與uniformgrid 三 wpf入門教程系列九 布局之dockpanel與viewbox ...

WPF入門教程系列一 基礎

一 前言 最近在學習wpf,學習wpf首先上的是微軟的msdn,然後再搜尋了一下網路有關wpf的學習資料。為了溫故而知新把學習過程記錄下來,以備後查。這篇主要講wpf的開發基礎,介紹了如何使用visual studio 2013建立乙個wpf應用程式。首先說一下學習wpf的基礎知識 1 要會一門.n...