WPF(0) – WPF 與 WinForm 的差異比較

Window Handle

Winform 底層依賴 Win32API ,WPF 底層依賴 Dorect3D

Winform 會為每個元件建立一個視窗,而 Wpf 只會建立一個主視窗

所以當開發複雜的 GUI 時,會使用到大量的控件,如 Grid ,而每個 Cell 控件都是一個小視窗,即使盡可能優化,但還是會遇到 Out of Memory 或 Err Create Window handle。

Visual Studio 2019 安裝 Spy++

建立 兩個 TextBox 與 Button 後,啟動 Spy++ 可以看到差異

WinForm 會顯示一個主視窗與兩個子視窗

在 WPF 則只有一個主視窗

MVVM

WPF 提供 MVVM 的架構

在 WinForm 提供事件的方式與資料作互動,但在 WPF 提供另一個方式,在 View 定義 ViewModel,讓他可以與 Model 互動,藉此更新資料。

參考文章

https://blog.csdn.net/Andrewniu/article/details/52247475

https://www.twblogs.net/a/5b88bbd22b71775d1cde0e53

https://blog.darkthread.net/blog/install-spyxx-in-vs2019/

print

1 thought on “WPF(0) – WPF 與 WinForm 的差異比較

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *