What are my options for using the C ++ 11 library in a WPF C # application?

I am writing a cross-platform (OS X and Windows) desktop application in C ++ 11. I intend to use the same C ++ 11 core on both platforms using my own frameworks for the UI (Cocoa and Objective-C for OS X and WPF and C # on Windows) since I believe that the best UX experience is native.

Currently, the application works as a console application on both platforms. The application does some intensive work with the CPU and provides callbacks for progress reports, and upon completion creates an instance of a collection of elements ( std::vector<std::unique_ptr<Item>>) that represent the processing results.

My goal is for the C ++ 11 library to act as a model for the user interface according to the MVC and MVVM patterns.

The user interface should:

  • Allow the user to select a file for processing (open the file dialog box and send the path to the C ++ library)
  • Show progress (handle callbacks from C ++ library to update progress bar)
  • Display the results in WPF form (access the Item class and the displayed information).

I looked at WinRT, and it seems that there is not much information for use in desktop applications. I am also not fond of the idea of ​​creating the interface itself in C ++. My goal is to get data to and from a C ++ application and use C # to process the user interface, since I believe that a more efficient way to work with WPF.

P/Invoke, , C. ++ 11 .

++/CLI, , ++ 11.

CppSharp, , , , , , , .

++ #, , .

+3
1

++ Interop (http://msdn.microsoft.com/en-us/library/2x8kf7zx.aspx). , . WinForms, WPF, , . CPP. ++/CLI. .NET ++. , . , .

+3

All Articles