First, some background:
I've decided to start a new project designed from the ground up to run on multiple platforms (Windows, iOS, OSX, Linux, Android). Since my background is mostly C++ I intend to write the core functionality using C++11. That being said, on each platform I'll need to write a platform-specific UI that can inter-operate with the C++ core.
The first platform I'm targeting is Windows (the second is iOS). I will have data stored in a SQLite database as well as user-supplied data that will be entered using a WPF DataGrid (inserting rows, manipulating existing data, etc.). This is my first time working with WPF (though I've used Windows Forms) and my first time working with C++ in a managed environment. I plan to make this an MVC-style architecture so in my mind SQLite is the Model, WPF is the View, and the C++ code is the Controller.
My question is this:
Are there any examples out there illustrating how to grab data from a C++ interface and display it using C# and WPF without destroying/mangling the C++ code itself (since it must work on multiple platforms)? I've read a tiny bit about P/Invoke (tedious, but works) and mixed assemblies (works, but will mangle my C++?) but Google hasn't been helpful when it comes to concrete examples (especially those involving populating WPF controls with data obtained via a C++ DLL).
Thanks!
EDIT: While searching for approaches to this problem I came across CXXI. I'm not very familiar with it but it seems like it may be a simple solution to my problem. Any thoughts? My grasp of all these concepts is limited.