c# wpf 面试_WPF 基础面试题及答案(一)
一 · WPF由哪兩部分組成?
wpf 由兩個(gè)主要部分 組成:引擎和編程框架。
1 引擎。wpf引擎是基于窗體的應(yīng)用程序 圖形 視頻 音頻和文檔提供了一個(gè)單一的運(yùn)行時(shí)庫(kù)。重要的是WPF基于矢量的呈現(xiàn)引擎使應(yīng)用程序可以靈活地利用高DPI監(jiān)視器,支持圖形的硬件加速。
2 框架。WPF框架為媒體 用戶界面設(shè)計(jì)和文檔提供大量的解決方案。wpf的設(shè)計(jì)考慮了可擴(kuò)展性,使開(kāi)發(fā)人員可以完全在WPF引擎的基礎(chǔ)上創(chuàng)建自己的控件,也可以通過(guò)對(duì)現(xiàn)有WPF控件進(jìn)行再分類來(lái)創(chuàng)建自己的控件。
二?· 什么是WPF?
WPF英文全稱是Windows Presentation Foundation,中文為Windows表現(xiàn)層基礎(chǔ)。是微軟最初在.NET Framework3.5平臺(tái)推出的一個(gè)圖形平臺(tái)。
三 ·?Silverlight 和 WPF的異同。
它們的運(yùn)行方式是不同的。
1 silverlight是基于瀏覽器插件的,在瀏覽器中運(yùn)行。
2 WPF可以編寫(xiě)Web程序或者桌面應(yīng)用程序,可以直接編譯為獨(dú)立運(yùn)行的exe文件。
實(shí)現(xiàn)功能是不同的。
1 WPF支持直接在XAML中綁定觸發(fā)來(lái)觸發(fā)動(dòng)畫(huà),而silverlight就只能通過(guò)托管代碼或者javascript來(lái)進(jìn)行。
2 WPF直接支持3D效果和3D鏡頭變換,但是silverlight就不支持。
它們也有相似的地方
1 silverlight 原名WPF/E 就是WPF Everywhere 是WPF的一個(gè)子集。因此它們?cè)诤芏嗾Z(yǔ)法實(shí)現(xiàn)上非常類似。
四 ·如何理解WPF體系結(jié)構(gòu)?
WPF使用多層架構(gòu),類似于三層結(jié)構(gòu),最頂層部分為托管代碼API,此層用于為開(kāi)發(fā)人員編寫(xiě)WPF應(yīng)用程序提供較高層次的服務(wù),基于C#托管代碼編寫(xiě)。轉(zhuǎn)換.NET代碼到DirectX的工作由中間層milcore.dll實(shí)現(xiàn)。中間層milcore是用非托管代碼實(shí)現(xiàn),因?yàn)樗枰cDirectX緊密集成,對(duì)性能敏感,就是消耗的資源比較多,對(duì)性能影響較大。
五 · 在WPF中Binding的作用及實(shí)現(xiàn)語(yǔ)法?
典型的Binding具有四個(gè)重要組成部分:Binding目標(biāo)對(duì)象(binding target object) 目標(biāo)對(duì)象屬性(target property) Binding數(shù)據(jù)源(binding source) Path(用于指明要從數(shù)據(jù)源中取得的值,就是我們通常寫(xiě)的屬性名稱)。
六·什么是XML擴(kuò)展XAML?有何優(yōu)點(diǎn)?
1 XAML是eXtensible Application Markup? Language的英文縮寫(xiě),相應(yīng)于中文稱為可擴(kuò)展應(yīng)用程序標(biāo)記語(yǔ)言,它是微軟公司為構(gòu)建應(yīng)用程序用戶界面而創(chuàng)建的一種新的描述性語(yǔ)言。
2 XAML是XML語(yǔ)言的一個(gè)衍生物,它的語(yǔ)法與XML語(yǔ)言完全一致,它的功能就是專門(mén)用來(lái)設(shè)計(jì)和實(shí)現(xiàn)程序的UI。
3 XAML一個(gè)很大的優(yōu)點(diǎn)就是由于WPF支持WEB開(kāi)發(fā),那么WEB開(kāi)發(fā)和桌面開(kāi)發(fā)的轉(zhuǎn)換是很簡(jiǎn)單,修改的地方很短,同時(shí)UI與邏輯完全分離,所以邏輯代碼也幾乎不用改動(dòng)。
七· 解釋什么是依賴屬性,它和以前的屬性有什么不同?為什么在WPF會(huì)使用它?
1 Windows Presentation Foundation (WPF) 提供了一組服務(wù),這些服務(wù)可用于擴(kuò)展公共語(yǔ)言運(yùn)行時(shí) (CLR) 屬性的功能,這些服務(wù)通常統(tǒng)稱為 WPF 屬性系統(tǒng)。由 WPF 屬性系統(tǒng)支持的屬性稱為依賴項(xiàng)屬性。
2 它和以往屬性的不同之處有
(1)依賴屬性是一種特定類型的屬性。這種屬性的特殊之處在于,其屬性值受到 Windows 運(yùn)行時(shí)中專用屬性系統(tǒng)的跟蹤和影響。
(2)依賴屬性的用途是提供一種系統(tǒng)的方式,用來(lái)基于其他輸入(在應(yīng)用運(yùn)行時(shí)其內(nèi)部出現(xiàn)的其他屬性、事件和狀態(tài))計(jì)算屬性的值。
(3)依賴屬性代表或支持編程模型的某種特定功能,用于定義 Windows 運(yùn)行時(shí)應(yīng)用,這種模型使用 XAML 編寫(xiě) UI,使用 C#、Microsoft Visual Basic 或 Visual C++ 組件擴(kuò)展 (C++/CX) 編寫(xiě)代碼。
一般的屬性沒(méi)有這么復(fù)雜。
3 WPF使用它是有不少優(yōu)點(diǎn)的
(1)優(yōu)化了屬性的存儲(chǔ),直接減少了不必要的內(nèi)存使用。
(2)有屬性變化通知 限制 驗(yàn)證等。
(3)可以儲(chǔ)存多個(gè)值,配合Expression及Animation等,打造出更靈活的使用方法。
總結(jié)
以上是生活随笔為你收集整理的c# wpf 面试_WPF 基础面试题及答案(一)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: dhcp是哪一层的协议_OSI各个分层分
- 下一篇: tableau示例超市数据在哪儿_超市运