2011-06-21 86 views
11

我有我的主要程序在C++中,但現在我需要構建一個漂亮的應用程序,並且我知道WPF非常簡單,並且可以製作漂亮的應用程序。 WPF可以使用C++或C#和C++嗎? (如果是,如何?)WPF對我來說是最好的嗎?WPF與C++,有可能嗎?

+1

這不會幫助你使用當前的Windows,但它看起來像W8將具有良好的本地C++支持花哨的GUI:http://arstechnica.com/microsoft/news/2011/06/windows-8-for-軟件開發人員 - longhorn-dream-reborn.ars – gbjbaanb

回答

14

您可以在託管的C++項目中使用WPF,但最好將C++保存在單獨的程序集中,並從C#或VB WPF項目中引用它。

+0

謝謝你的回答。我有點小菜:)所以我怎麼能輕鬆做到這一點?你有一個很好的教程,或者你可以說我該怎麼做,因爲我在C#和WPF中找到了很多教程,但是我沒有找到C++和WPF的東西。 – Nazka

+0

在C++和WPF中沒有任何教程,因爲WPF是現代的,並且可以用像C#這樣的現代語言更好地工作。所以,就像我說的,使用C#創建您的WPF用戶界面,然後引用您的C++程序集。下面是一個如何使用'DllImport'的例子:http://www.dotnetperls.com/dllimport –

+0

因此,我應該使用Visual2010在C++中創建一個類庫項目,以創建我的DLL並在我的第二個中使用這個DLL應用程序在C#中?而已?或者這不是C++的這種項目? – Nazka

5

是的,你可以開發一個使用WPF框架的GUI在託管 C +或C++/CLI。但它們不是標準C++,因此不是跨平臺的。

如果你只是想用C++編寫的應用程序的GUI,那麼你也可以嘗試Qt。 Qt的優勢在於它完全在C++中。不是微軟託管的C++。第二個優點是它的跨平臺工具包。這意味着,您可以在Windows,Linux,Mac和其他機器上運行您的應用程序。

在其文檔

它有很多的工具,得到了迅速發展,如Qt CreatorQt Designer和其他人看看。你可以通過瀏覽上面的鏈接看到他們。

+0

Qt可以創建快速圖表嗎?我正在研究一個金融應用程序,所以我的圖表會有5k點和線,所以流利的東西會很甜。 :) – Nazka

+0

@Nazka:Qt將創建比WPF更快的圖表,相信我。 – Nawaz

+1

@Nazka:只需下載工具包,它的尺寸非常小;下載時間不會很長。下載並查看工具包本身附帶的演示示例。他們非常漂亮,很酷。 – Nawaz

-3

WPF是死的使用Silverlight,記得一起,MS說,它的HTML5只有從現在起:)

在C使用WPF ++可以使用hwndSource可以實現應用程序,但它不是最佳的解決方案,爲將要必須創建C#或VB.NET GUI應用程序,並使用它通過某種形式的IPC與您的C++應用程序進行通信。

還有其他方法,可能最好的方法是使用Qt編寫GUI,這是非常受人尊敬的。通過使用QML以及舊的基於表單的系統(這意味着您可以獲得使用舊的無聊文本框等的所有開發速度,以及使用新的聲明性用戶界面的奇妙GUI優勢系統,全都在同一個系統中,甜美)。

當然,一個體面的選擇是讓您的應用程序進入後端服務器進程,並從基於Web服務器的HTML5 UI調用它。這非常有前途,可以很容易地部署到客戶端,也可以像現在這樣現代化。

+0

在你最後的解決方案中,目標是建立一個網站?或者一個Web服務?在我的C++應用程序和網站之間建立接口的最佳工具是什麼? (只是一個很好的數據庫與mySql可能?) – Nazka

+4

WPF + SL死了?引用你的消息來源,因爲在這一點上,這只是一個醜陋的謠言。如果你只是預測,請不要這樣做,因爲它是事實。 – djdanlib

+0

@djdanlib:它是一個謠言,你會被建議不斷聽取,因爲它不完全沒有證據。這是今天的分期付款:http://www.i-programmer.info/news/81-web-general/2640-skydrive-drops-silverlight.html煙霧的問題在於它下面常常會有火。這可能不是真的,但這並不意味着你可以完全忽略它。 – gbjbaanb