WPF 10天修煉 第一天 入門

2022-06-08 13:00:18 字數 3391 閱讀 6658

簡介

wpf技術基於directx,完美的整合了向量圖形、2d或3d繪圖技術、檔案及多**技術。wpf將開發人員和設計人員的職責清楚的分離,提供了一種宣告程式語言xaml。同時expression blend設計可以讓介面設計更簡單。

wpf特點

基於向量繪圖技術:使用向量繪圖引擎,意味著可以無限放大和縮小圖形。

與裝置無關的單位:使用1/96的邏輯單位,這是應用程式在不同的解析度中依然能保持良好的互動性格。傳統的以畫素為單位的使用者介面,在不同的解析度下會顯示不同的大小。 

宣告式的程式設計:使用xaml標記語言,進行使用者介面設計,配合**後置檔案開發應用程式,類似於web form應用程式。

web分割的布局模型:增強了流式布局模型體驗,除了使用固定空間布局外,還可以使用流式布局來動態地排列使用者控制項,使使用者介面可以適應不同的顯示裝置,同時便於建立動態內容。 

豐富的繪圖模型:wpf除了可以處理基本圖形,文字塊之外,還提供了很多新的繪圖特性,比如真正的透明控制項,使用不同的透明度堆疊多個控制項及原生3d支援特性。

原生的多**、動畫支援:wpf應用程式內建了動畫特性。設計人員可以使用xaml或者blend工具進行設計。這個工具會生成對應的xaml**,進而豐富wpf應用程式的互動性。 

相關程式集檔案

presentationframework.dll放置視窗、面板以及其他型別的控制項。實現了高層的抽象。開發人員所使用的大多數類都來自此。

presentationcore.dll基本型別,uielement 和visual

windowsbase.dll存放在wpf外部可能被重用的基本元素,比如dependencyobject。

milcore.dll輸出系統的核心,也是多**整合層的基礎。主要使用者和directx互動。

windowscodecs.dll底層api,使用者提供影象成像支援,比如影象處理、影象顯示、縮放bitmmap和jpeg.

direct3d提供3d影象輸出端的底層api

wpf應用程式模板

使用vs工具新建wpf程式時工包含以上四種模板:

wpf應用程式:獨立可以執行應用程式,類似windows forms的exe應用程式。

wpf瀏覽器應用程式:基於xaml的瀏覽器應用程式,以xbap作為副檔名。

wpf使用者控制項庫:用於建立可重用的、元件化的使用者控制項庫。

wpf自定義控制項庫:用於開發wpf自定義空間的控制項庫專案。

建立wpf應用程式

新建乙個wpf應用程式專案,程式結構如下:

編寫基本彈出框功能。

1、雙擊開啟mainwindow.xaml檔案,

2、從工具箱中拖乙個button控制項到頁面,修改content屬性為hello wpf,

3、雙擊控制項,進入按鈕的單擊事件**繫結,

4、編寫**

1messagebox.show("hello wpf");

執行應用程式,會彈出乙個對話方塊將會顯示hello wpf.

xaml** 

1

後置**: 12

34privatevoidbutton_click(objectsender, routedeventargs e)

12

3456

789xmlns=""

xmlns:x=""

xmlns:local="clr-namespace:hellowpf"

startupuri="mainwindow.xaml">

12

3456

789namespacehellowpf

}12

3456

78910

1112

1314

1516

1718

1920

2122

2324

2526

2728

2930

3132

3334

35namespacehellowpf

///

///

[system.stathreadattribute()]

[system.diagnostics.debuggernonusercodeattribute()]

[system.codedom.compiler.generatedcodeattribute("presentationbuildtasks","4.0.0.0")]

publicstaticvoidmain()

}

}

引用:

WPF 10天修煉 第十天 WPF資料繫結

wpf資料繫結 資料繫結到元素屬性是將源物件指定為乙個wpf元素,並且源屬性是乙個依賴屬性,依賴屬性內建了變更通知。當改變源物件依賴屬性值之後,繫結目標可以立即得到更新,開發人員不需要手動編寫響應事件。在繫結 和繫結目標之間,可以使用mode屬性指定繫結的方法。mode屬性是system.windo...

8天入門wpf 第一天 基礎概念介紹

這些天從專案上接觸到了wpf,感覺有必要做乙個筆記,首篇還是聊聊基本的概念,要學習wpf,我們需要採用webform的思維來考慮問題。我們都知道,console和winform程式的入口函式都是main,wpf同樣也不例外,好了,我們新建乙個wpf的程式,vs自動給我們生成了乙個 其實,wpf為了簡...

mysql 第一天 MySQL 系列第一天

mysql 系列第一天這篇文章是黑馬程式設計師 mysql 教程的筆記,好好學習哦。和 mysql 資料庫的互動 客戶端單向連線認證 連線伺服器,認證身份。mysql 資料庫屬於 c s 架構,所以開啟伺服器程式後,需要通過客戶端連線它。mysql 會自帶乙個客戶端程式,可以直接輸入賬號和密碼即可連...