For starters this is a great source
http://www.codeproject.com/Tips/673701/Hosting-EXE-Applications-in-a-WPF-Window-Applicati
If you follow the instructions and download the code this author provides it there you will have an application that will run any exe application in its window. From here you will want to make a few additional changes. In the app control class were unreal will be ran as a child class to your window the line after _childp.WaitForInputIdle(); you will want to add something like
System.Threading.Thread.Sleep(10); or
while (_childp.MainWindowHandle == IntPtr.Zero)
{
System.Threading.Thread.Sleep(10);
}
Because Unreal takes time to load up and the waitForInputIdle will likely skip past waiting for unreal. From there you will probably want to look into the windows Styles for any changes you want to mke to unreals window when applied to your application here Window Styles (Winuser.h) - Win32 apps | Microsoft Docs
For addinal reasources pinvoke.net is great as well.
If you have any other question feel free to to contact me here hope this helps.