You should look into C++/CLI
I think that will work to a high degree.
It makes it possible to use .Net code from C++.
To use C++ code from .Net, you will need to recompile it with the C++/CLI compiler,
Most of the code , recompiles without any problems.
You will probably need to add some conversion/interop for translating between native and managed objects.
If some code, cannot be recompiled. You can add an Interop DLL written in C++/CLI, which wraps the native code.
Another option is to make COM DLLs of your C++ code.
You should consider separating the GUI from the implementation.
That will probably increase your chances of success.