日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學(xué)無(wú)先后,達(dá)者為師

網(wǎng)站首頁(yè) 編程語(yǔ)言 正文

WPF簡(jiǎn)介與基礎(chǔ)開(kāi)發(fā)_實(shí)用技巧

作者:.NET開(kāi)發(fā)菜鳥 ? 更新時(shí)間: 2022-04-28 編程語(yǔ)言

一、WPF簡(jiǎn)介

WPF:WPF即Windows Presentation Foundation,翻譯為中文“Windows呈現(xiàn)基礎(chǔ)”,是微軟推出的基于Windows Vista的用戶界面框架,屬于.NET Framework 3.0的一部分。它提供了統(tǒng)一的編程模型、語(yǔ)言和框架,真正做到了分離界面設(shè)計(jì)人員與開(kāi)發(fā)人員的工作;同時(shí)它提供了全新的多媒體交互用戶圖形界面。

二、WPF特點(diǎn)

1、統(tǒng)一的編程模型

WPF提供的編程模型統(tǒng)一普通控件、語(yǔ)音、視頻、文檔3D等技術(shù),這些媒體類型能夠統(tǒng)一協(xié)調(diào)工作,降低了我們的學(xué)習(xí)成本。

2、與分辨率無(wú)關(guān)

WPF是基于矢量繪圖的,因此它產(chǎn)生的圖形界面能夠支持各種分辨率的顯示設(shè)備,而不會(huì)像WinForm等在高分辨率的現(xiàn)實(shí)設(shè)備上產(chǎn)生鋸齒。

3、硬件加速技術(shù)

WPF是基于Direct3D創(chuàng)建。在WPF應(yīng)用程序中無(wú)論是2D還是3D的圖形或者文字內(nèi)容都會(huì)被轉(zhuǎn)換為3D三角形、材質(zhì)和其他Direct3D對(duì)象,并由硬件負(fù)責(zé)渲染,因此它能夠更好的利用系統(tǒng)的圖像處理單元GPU,從硬件加速中獲得好處。

4、聲明式編程

WPF引入一種新的XAML語(yǔ)言(Extensible Application Markup Language)來(lái)開(kāi)發(fā)界面。使用XAML語(yǔ)言將界面開(kāi)發(fā)以及后臺(tái)邏輯開(kāi)發(fā)很好的分開(kāi),降低了前后臺(tái)開(kāi)發(fā)的耦合度,使用戶界面設(shè)計(jì)師與程序開(kāi)發(fā)者能更好的合作,降低維護(hù)和更新的成本。

5、易于部署

WPF除了可以使用傳統(tǒng)的Windows Installer以及ClickOnce方式來(lái)發(fā)布我們的桌面應(yīng)用程序之外,還可以將我們的應(yīng)用程序稍加改動(dòng)發(fā)布為基于瀏覽器的應(yīng)用程序。

三、常用的輔助開(kāi)發(fā)工具

Microsoft Expression Blend:簡(jiǎn)稱(Blend)它是WPF UI界面設(shè)計(jì)師必備工具,利用它我們可以設(shè)計(jì)出非常精美的UI界面,以及界面的樣式、模板、動(dòng)畫等資源。

下載地址:

Blend:https://msdn.microsoft.com/zh-cn/(搜索Blend)

四、開(kāi)發(fā)基礎(chǔ)

1、新建WPF應(yīng)用程序

選擇菜單->“文件”->“新建”->“項(xiàng)目”,在“新建項(xiàng)目”對(duì)話框中選擇WPF應(yīng)用程序,修改名稱為WpfDemo,然后點(diǎn)擊“確定”按鈕,如下圖所示:

2、生成的文檔結(jié)構(gòu)圖如下:

3、在App.xaml中的“StartupUri”屬性可以指定項(xiàng)目運(yùn)行時(shí)的啟動(dòng)窗體。如下圖中“StartupUri=”MainWindow.xaml””,還可以定義我們需要的系統(tǒng)資源以及引入程序集等

如下圖所示:

五、XAML語(yǔ)言

XAML語(yǔ)言:是微軟公司為構(gòu)建應(yīng)用程序用戶界面而創(chuàng)建的一種新的“可擴(kuò)展應(yīng)用程序標(biāo)記語(yǔ)言”,提供了一種便于擴(kuò)展和定位的語(yǔ)法來(lái)定義和程序邏輯分離的用戶界面。

特點(diǎn):

定義應(yīng)用程序的界面元素

顯示的聲明WPF資源(樣式、模板、動(dòng)畫等)

可擴(kuò)展性(自定義UI控件)

集中關(guān)注于界面的設(shè)計(jì)和實(shí)現(xiàn)

六、XAML命名空間以及命名空間映射到程序集

1、XAML命名空間

開(kāi)發(fā)語(yǔ)言會(huì)將常用功能以類的形式封裝,開(kāi)發(fā)人員根據(jù)自己的業(yè)務(wù)需求,也會(huì)封裝滿足自身業(yè)務(wù)需求的類,如果有序組織這些類?一方面,便于開(kāi)發(fā)人員準(zhǔn)確調(diào)用;另一方面,編譯器可以有效識(shí)別具有相同命名的類,就引入了命名空間,簡(jiǎn)單的說(shuō),是通過(guò)類似樹(shù)狀結(jié)構(gòu)來(lái)組織各種類,是一種較為有效的類名排列方式。

而XAML和.NET其他語(yǔ)言一樣,也是通過(guò)命名空間有效組織起XAML內(nèi)部的相關(guān)元素類,這里的命名空間與.NET中的命名空間不是一一對(duì)應(yīng)的,而是一對(duì)多,一眼望去,都是“網(wǎng)址”,這里的網(wǎng)址,是遵循XAML解析器標(biāo)準(zhǔn)的命名規(guī)則,而不是真正的網(wǎng)址(在IE中根本打不開(kāi))。

xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"對(duì)應(yīng)一些與XAML語(yǔ)法和編譯相關(guān)的CLR名稱空間,例如