   C++ Model with C# View
  I was thinking about how you'd go about doing this sort of thing in regards to some kind of game editor. Such as having a WPF application with some rich UI, and a center window that would house the rendering, which would be done in unmanaged C++ and directx.Now the way I see it, is that data is going to have to go both ways. Such as- User clicks WPF UI to change some setting (which affects the rendering), which will then need to notify the c++ of that setting- User clicks the rendering window, to select say some object in 3d, the C++ code would then need to notify the WPF code, to display a window that shows that objects propertiesDo you think this could be done by a message system? So rather than a whole host of functions needing to be created to sync the two. Each has a single message loop like a win32 WndProc.But Im then wondering about what happens when you want to pass across a large class. Say for example, again, you wanted to view the objects properties in a WPF dialog when the object is selected in the view port, and makes a change. For this to happen, its going to need to;- C++ detect viewport has been clicked- C++ traces and selects the object from the scene- C++ Marshalls all object data and sends message to WPF- WPF recieves message, and creates window with data- User makes a change in that dialog- WPF sends message back to C++ of change- C++ recieves message and makes changeNow, how should the data be passed? If I pass a pointer, thats going to cause all sorts of issues. Could a WPF application even make use of a pointer from c++ code that was of a polymorphic type? I gather that Multiple inheritance would be out of the question. So Im thinking I would just pass the data by value as a struct.Any advice on this kind of thing?   