WPF 基礎面試題及答案(一)

一 · WPF由哪兩部分組成?javascript

wpf 由兩個主要部分 組成:引擎和編程框架。java

1 引擎。wpf引擎是基於窗體的應用程序 圖形 視頻 音頻和文檔提供了一個單一的運行時庫。重要的是WPF基於矢量的呈現引擎使應用程序能夠靈活地利用高DPI監視器,支持圖形的硬件加速。編程

2 框架。WPF框架爲媒體 用戶界面設計和文檔提供大量的解決方案。wpf的設計考慮了可擴展性,使開發人員能夠徹底在WPF引擎的基礎上建立本身的控件,也能夠經過對現有WPF控件進行再分類來建立本身的控件。瀏覽器

 

二 · 什麼是WPF?架構

WPF英文全稱是Windows Presentation Foundation,中文爲Windows表現層基礎。是微軟最初在.NET Framework3.5平臺推出的一個圖形平臺。框架

 

 

三 · Silverlight 和 WPF的異同。性能

它們的運行方式是不一樣的。優化

1 silverlight是基於瀏覽器插件的,在瀏覽器中運行。動畫

2 WPF能夠編寫Web程序或者桌面應用程序,能夠直接編譯爲獨立運行的exe文件。插件

實現功能是不一樣的。

 

1 WPF支持直接在XAML中綁定觸發來觸發動畫,而silverlight就只能經過託管代碼或者javascript來進行。

2 WPF直接支持3D效果和3D鏡頭變換,可是silverlight就不支持。

它們也有類似的地方

1 silverlight 原名WPF/E 就是WPF Everywhere 是WPF的一個子集。所以它們在不少語法實現上很是相似。

 

 

 四 ·如何理解WPF體系結構?

WPF使用多層架構,相似於三層結構,最頂層部分爲託管代碼API,此層用於爲開發人員編寫WPF應用程序提供較高層次的服務,基於C#託管代碼編寫。轉換.NET代碼到DirectX的工做由中間層milcore.dll實現。中間層milcore是用非託管代碼實現,由於它須要與DirectX緊密集成,對性能敏感,就是消耗的資源比較多,對性能影響較大。

五 · 在WPF中Binding的做用及實現語法?

典型的Binding具備四個重要組成部分:Binding目標對象(binding target object) 目標對象屬性(target property) Binding數據源(binding source) Path(用於指明要從數據源中取得的值,就是咱們一般寫的屬性名稱)。

六·什麼是XML擴展XAML?有何優勢?

1 XAML是eXtensible Application Markup  Language的英文縮寫,相應於中文稱爲可擴展應用程序標記語言,它是微軟公司爲構建應用程序用戶界面而建立的一種新的描述性語言。

2 XAML是XML語言的一個衍生物,它的語法與XML語言徹底一致,它的功能就是專門用來設計和實現程序的UI。

3 XAML一個很大的優勢就是因爲WPF支持WEB開發,那麼WEB開發和桌面開發的轉換是很簡單,修改的地方很短,同時UI與邏輯徹底分離,因此邏輯代碼也幾乎不用改動。

七· 解釋什麼是依賴屬性,它和之前的屬性有什麼不一樣?爲何在WPF會使用它?

1 Windows Presentation Foundation (WPF) 提供了一組服務,這些服務可用於擴展公共語言運行時 (CLR) 屬性的功能,這些服務一般統稱爲 WPF 屬性系統。由 WPF 屬性系統支持的屬性稱爲依賴項屬性。

2 它和以往屬性的不一樣之處有

(1)依賴屬性是一種特定類型的屬性。這種屬性的特殊之處在於,其屬性值受到 Windows 運行時中專用屬性系統的跟蹤和影響。

(2)依賴屬性的用途是提供一種系統的方式,用來基於其餘輸入(在應用運行時其內部出現的其餘屬性、事件和狀態)計算屬性的值。

(3)依賴屬性表明或支持編程模型的某種特定功能,用於定義 Windows 運行時應用,這種模型使用 XAML 編寫 UI,使用 C#、Microsoft Visual Basic 或 Visual C++ 組件擴展 (C++/CX) 編寫代碼。

通常的屬性沒有這麼複雜。

3 WPF使用它是有很多優勢的

(1)優化了屬性的存儲,直接減小了沒必要要的內存使用。

(2)有屬性變化通知 限制 驗證等。

(3)能夠儲存多個值,配合Expression及Animation等,打造出更靈活的使用方法。

相關文章
相關標籤/搜索