探討WPF開(kāi)發(fā)工作站相關(guān)知識(shí)
WPF的出現(xiàn)解決了大多數(shù)開(kāi)發(fā)人員在實(shí)際開(kāi)發(fā)中關(guān)于圖形界面的一些局限性。你已經(jīng)確信WPF是下一代應(yīng)用程序的戰(zhàn)略級(jí)技術(shù),你已打算利用這個(gè)機(jī)會(huì)好好規(guī)劃并重新安裝你的開(kāi)發(fā)工作站。 #t#
那么你應(yīng)該在這個(gè)工作站上放些什么,才可以創(chuàng)建一個(gè)***的WPF開(kāi)發(fā)環(huán)境呢? 有許多出色的工具和例子,我認(rèn)為我應(yīng)該把它們匯總到一個(gè)清單中從而使大家從中受益。 我也想聽(tīng)聽(tīng)你們的意見(jiàn),如果我有漏掉的東西請(qǐng)告訴我, 我會(huì)不斷地更新這份帖子。
WPF開(kāi)發(fā)工作站基本環(huán)境
Windows Vista,當(dāng)然需要! (雖然在Windows XP SP2上也會(huì)工作得很好)
Visual Studio 2005(帶SP1和Windows Vista支持文件)
Visual Studio 2005 Extensions for .NET Framework 3.0
Windows SDK
Expression Blend與Expression Design
WPF開(kāi)發(fā)工作站工具
XamlPadX, Kaxaml 與XamlCruncher:: 用來(lái)替代XamlPad工具的三個(gè)增強(qiáng)性工具,它們是在Windows SDK中的。 每一個(gè)工具都有它的強(qiáng)項(xiàng): XamlPadX擁有很多出色的插件,它是基于XamlPad代碼寫(xiě)出來(lái)的;Kaxaml用于演示很不錯(cuò),對(duì)間距和tab支持很好;XamlCruncher有一段高質(zhì)量的可用源代碼。
Lutz Roeder''s .NET Reflector: 可以方便瀏覽類(lèi)層次;
Snoop: 調(diào)試WPF應(yīng)用程序的可視化工具,由Peter Blois開(kāi)發(fā)
WPF Performance Tools: 被埋沒(méi)在SDK中的工具,應(yīng)用程序工具集的必要組成部分。 你可以在%SdkTools%\WpfPerf.exe 找到它(如果你使用的是Vista,請(qǐng)確保你是以管理員身份運(yùn)行它的,即run as an administrator)
Flexible Application Template: 從應(yīng)用服務(wù)PM中的一個(gè)得到替代項(xiàng)目模板,允許你創(chuàng)建一個(gè)單獨(dú)的應(yīng)用程序項(xiàng)目,只需要改變項(xiàng)目類(lèi)型就可以讓項(xiàng)目變成XBAP或富客戶(hù)端應(yīng)用程序。(原文:this replacement project template from one of the app services PMs allows you to create a single application project that can flip between an XBAP (web browser project) or rich client application just with an adjustment to the project type; )
ZAM 3D: Electric Rain的工具,用于快速創(chuàng)建3D網(wǎng)格,并讓3D網(wǎng)格動(dòng)起來(lái)
XAML Converters: 將3DS, DXF, Blender, Fireworks, Lightwave, SWF, Maya 及Illustrator的文章轉(zhuǎn)換為XAML格式的工具
WPF開(kāi)發(fā)工作站創(chuàng)建一個(gè)代碼工具箱
3D Tools for WPF: 3D表面的交互式2D、物體邊框線(xiàn)、3D鼠標(biāo)導(dǎo)航;
Kevin''s Bag-o-Tricks: 控件集合,擴(kuò)展并增強(qiáng)一些WPF自帶的類(lèi)型,如ColorPicker、FolderPicker、NumericUpDown、RadioButtonList、數(shù)據(jù)控件、動(dòng)畫(huà)版tile panel和圖形控件
UI Automation Stress: 應(yīng)用程序環(huán)境壓力測(cè)試。 將這個(gè)代碼加入Debug菜單,這樣可以保證你不會(huì)因?yàn)殄e(cuò)誤輸入而讓你的應(yīng)用程序崩潰。
WPF開(kāi)發(fā)工作站示例應(yīng)用程序
我是那種喜歡有許多示例代碼的程序員,這樣我就可以從中拷貝概念、想法和技術(shù)。 拷貝以下這些示例示例到\samples目錄中:
Patient Monitoring Sample
Woodgrove Finance Sample
Thailand Sample
也請(qǐng)把%SdkTools%\..\Samples\WPFSamples.zip解壓到\samples\sdk目錄中,這樣你可以很方便地瀏覽所有的例子而不用去看SDK文檔接口。
現(xiàn)在啟用Windows Desktop Search(點(diǎn)這里安裝WDS 3.0,如果你正在運(yùn)行Windows XP,并把它配置為對(duì).xaml,.cs,.vb文件內(nèi)容進(jìn)行索引) 請(qǐng)確保設(shè)置了對(duì)整個(gè)\samples目錄進(jìn)行索引,因?yàn)槟惆阉械氖纠挤旁诶锩媪恕?現(xiàn)在,你可以很快遍歷每個(gè)示例,只需要按下Win+F,搜索BitmapSource 和ColorConvertedBitmap關(guān)鍵字,就可以看到這兩個(gè)關(guān)鍵字的使用情況。
WPF開(kāi)發(fā)工作站技術(shù)支持
WPF MSDN論壇是產(chǎn)品組和其他資深社區(qū)成員經(jīng)常光顧的地方,有許多以前問(wèn)過(guò)的問(wèn)題(和答案);
WPF MSDN Newsgroup提供了一個(gè)與web論壇非常相似的服務(wù),但是它是基于USENET新聞組形式的。 在寫(xiě)本書(shū)時(shí),那個(gè)論壇似乎訪(fǎng)問(wèn)量更大了。
WPF開(kāi)發(fā)工作站提示和技巧
確保在你的系統(tǒng)中把Windows SDK文檔與其它的MSDN文檔融合在一起了 以管理員身份運(yùn)行 Start -> Windows SDK -> Visual Studio Registration -> Integrate Windows SDK with Visual Studio 2005,這樣只需要從代碼視圖中按F1就可以了。
我在開(kāi)始菜單中加入了一些快捷方式,這樣可以方便地訪(fǎng)問(wèn)這些工具,特別是XamlPad, WpfPerf和其他一些默認(rèn)情況下隱藏的工具。 如果你運(yùn)行的是Windows Vista,這個(gè)提示將給你一條訪(fǎng)問(wèn)每個(gè)項(xiàng)的捷徑
如果你運(yùn)行的是Windows Vista,設(shè)置WPF字體緩存系統(tǒng)服務(wù)(Windows Presentation Foundation Font Cache)為Automatic(Delayed Start)(自動(dòng),延遲啟動(dòng)),這樣可以減少WPF應(yīng)用程序的啟動(dòng)時(shí)間。
在Visual Studio中,設(shè)置默認(rèn)的字體為Consolas —— 該字體看上去比Courier New更清楚,是專(zhuān)門(mén)設(shè)計(jì)用來(lái)作代碼開(kāi)發(fā)的。 Consolas包含在Windows Vista或Office 2007中的,或者你可以從這里下載該字體。
在Windows SDK文檔系統(tǒng)中,”New in Windows Vista”索引過(guò)濾器是一個(gè)很不錯(cuò)的方式,它可以防止WPF和Windows Forms API有時(shí)被混在一起的問(wèn)題。
我遇到過(guò)一些開(kāi)發(fā)人員偶爾會(huì)同時(shí)找到這兩個(gè)庫(kù)中的同名類(lèi)型,因?yàn)閃PF開(kāi)發(fā)工作站文檔中沒(méi)有給出一些細(xì)節(jié)來(lái)區(qū)分這些類(lèi)型。