簡體   English   中英

將C#WPF .NET 4.0應用程序移植到Mac OS X(Mono?)的建議

[英]Recommendations for porting a C# WPF .NET 4.0 application to Mac OS X (Mono?)

我目前在MS Visual C#4.5中創建了一個(非商業)應用程序,使用WPF和LINQ。

為了使將來可能移植到Mac OS X,我使用MVVM設計模式來分割邏輯和用戶界面。

我想知道:1)我知道Mono不支持WPF。 我使用了很多綁定。 是否可以以一種相當簡單的方式將其移植到WinForms(或Mono支持的其他方式)?

2)我想所有LINQ功能都必須轉換為for / foreach循環?

3)是否有其他考慮或建議我可以考慮或在移植時發出警告?

提前致謝。

Silverligt在Mac上運行。 如果你的應用程序可以限制在Silverlight中,那么移植將非常簡單,因為基本上Silverlight在瀏覽器中是WPF。 在最近發布的Silverlight 5中,您可以在瀏覽器外運行時訪問整個本地文件系統,還可以創建多個窗口。

正如評論中所提到的,Mono XWT跨平台Widget工具包應該可以解決這個問題 - 如果(截至2012年4月),您願意使用非常新的代碼。

XWT類似於Eclipse / Java的SWT小部件工具包,它直接映射到Mac-OSX,Linux和Windows-WPF的本機OS小部件。 它的不同之處在於它基於GTK-Sharp庫的布局系統和通用API,用於大多數Mono工具堆棧(即MonoDevelop,MonoDoc,Banshee等)。根據FOSDEM幻燈片,XWT旨在用作替換/添加GTK-Sharp用於Mono項目和Xamarin用於MonoDevelop。 我的猜測是他們想讓MonoDevelop看起來更像OS本機和/或更漂亮,GTK小工具包目前允許,可能使他們的工具鏈更多地與Eclipse產品相提並論。

在撰寫本答案時,XWT工具包仍在進行大量開發(特別是Windows WPF版本),但在所有三個平台上都具有相當的功能。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM