2011-04-13 82 views

回答

16

不 - 從Windows窗體到WPF沒有直接翻譯 - 另外,直接做這樣做會很糟糕,並導致設計很差的WPF應用程序。

我在深入my series on WPF with MVVM討論這個問題 - 尤其是"Part 3"顯示了當你編寫使用相同的方式WPF典型的Windows窗體應用程序會發生什麼,但後來我走上表演爲什麼這是一般一個壞主意。

WPF的核心是基於與Windows窗體完全不同的編程範例。在Windows窗體中分離出您的業務邏輯會更好,然後在WPF中編寫一個新的View層來處理邏輯。

+2

+1爲不同的範例。我編寫了一個Silverlight應用程序,就像一個Windows窗體應用程序,並且因爲UI和邏輯以及所有這些應用程序粘在一起而更新它非常麻煩。從那以後,我真正瞭解MVVM的價值。 – gideon 2011-04-13 15:54:32

+0

您對第三方工具或轉換軟件有何看法? – mahesh 2011-04-13 17:15:08

+2

@mahesh:我建議閱讀我的系列文章:http://reedcopsey.com/series/windows-forms-to-mvvm/即使您找到可以轉換的第三方解決方案,通常情況下,轉換會比無用的更糟 - 您最好手動進行轉換。您始終可以使用互操作圖層分階段轉換內容。 – 2011-04-13 17:16:31

1

它不像將vb.net轉換爲C#或其他東西,WPF是一個完全不同的寫作Windows應用程序的方式。然而,如果你的代碼被抽象化了,並且/或者你的UI代碼與邏輯分離了,你不應該有太多的麻煩將其移植到WPF。

WPF也有WindowsFormsHost類。這是對Hosting a windows forms control in WPF的演練。

0

你需要重寫很多。利用MVVM絕對值得。