WPF與Winform的選擇

2022-06-27 05:36:09 字數 1038 閱讀 7571

最近公司計畫對erp系統全面公升級,現有的erp是簡單的bs架構系統打算改版成cs。平時如自己寫一些工具,小應用都是用winform就足夠。但是介面總是很難看,據了解wpf在這一方面會強一些。因為之前對wpf並不熟悉,先花了點時間了解一下,和winform做了一下對比。以下大概的整理,未做詳細整理。

wpf是啥技術?

dhtml就是wpf的直系親屬。wpf裡的大量核心概念和結構,如屬性引擎、事件模型等,都是繼承自 dhtml,最大的乙個不同是外觀和控制項邏輯的分離。wpf應用和dhtml應用(hta)的相似性也非常大,不同點是wpf應用可以完全脫離ie。也就是說,wpf和網頁、asp.net、svg是一套體系,可以比作xml版的flash,而和winform完全不同

wpf有三種應用模式:應用、瀏覽應用、文件應用。應用就是一般的視窗應用,瀏覽應用就是象網頁一樣的一頁一頁的應用,文件應用是用來顯示內容的瀏覽應用功能子集,而不是mvc模型。

wpf是一套很複雜的體系,它的介面可以用**生成,不過絕大多數人都會用xaml來生成。xaml可以認為是wpf的html。制定標準的人總是說 xml是可讀的,但多數人認為它是用來給機器讀的。xmal基於xml,同時做了相當的擴充套件以彌補功能的不足。要手寫xaml,必須了解wpf,了解 xml(namespace,link等等),了解xaml的規則,了解xaml擴充套件的語法,能夠記住大量的識別符號和引用關係。

二者對比:

winform 封裝了 win32 的api,多次進行p/invoke 操作 (大部分使用p/invoke操作封裝),速度慢。

wpf是一種新的模型,不再使用win32 模型,自己新建模型,使用dx 作為新的顯示技術,直接訪問驅動程式,加快了執行速度,可是,這種模型,需要支援dx 9 的顯示卡,硬體要求高(你還能找到現代機器不支援dx9 的嗎?)

從開發效率上winform>wpf

從開發成本wpf〉winform

介面執行效率上wpf〉winform(隨著計算機硬體的效能提高,多核cpu的普及)

記憶體使用上wpf〉winform

開發靈活性上wpf〉winform

美觀上:wpf〉mfc

參考:

WinForm控制項與WPF控制項的互動

原文 winform控制項與wpf控制項的互動 這個問題其實也可以理解為 怎樣在wpf xaml中使用winform中的控制項 如picturebox 首先看看xaml 注意下面加粗的部分 c system.windows.forms.picturebox picturebox null void ...

WinForm控制項與WPF控制項的互動

原文 winform控制項與wpf控制項的互動 這個問題其實也可以理解為 怎樣在wpf xaml中使用winform中的控制項 如picturebox 首先看看xaml 注意下面加粗的部分 c system.windows.forms.picturebox picturebox null void ...

wpf和winform的那點區別

一提起winform和wpf有啥不同,可能大部分人都會想到wpf擁有漂亮的介面。wpf中也可以使用winform,大部分情況下,都沒有任何問題,極少的情況下,可能會出現問題。我們就來看一下 void floatwindow loaded object sender,routedeventargs e...