Recently I have been exploring the possibility of using wpf in max to make some nice resizable UI’s that are contained in an external XAML file. It does have a certain appeal but I seem to be coming up against some roadblocks. The first is that the standard controls lack some basics like a spinner and a colour picker. I have tried loading in the 'Extended WPF Toolkit" but it just seems like a bad idea. They are non-standard controls that people will not be used to etc.
Ideally I would like to use the native Max WPF controls but I can’t seem to access them. Has anyone else tried this approach to UI devolpment?
Hi,
if you’re developing C# assemblies, loaded by maxscript, you can use what you want to build your interface.
In my experience, I’ve built GUIs in C# mixing standard and WPF controls. Haven’t tryed 3dsMax WPF controls, but I think it would be easy after added the right assembly as reference (in you visual studio c# assemply project).
how can i for instance, add rows to a DataGridView in a form that is created via a xaml string?
it seems that I can build everything in c# and use the ManagedServices to communicate from a DLL to max ( http://lonerobot.net/?p=472 ), and simply load the DLL and .show the form from the loaded module via maxscript. Is this more or less the accepted best practice now?
it seems that I can build everything in c# and use the ManagedServices to communicate from a DLL to max ( http://lonerobot.net/?p=472 ), and simply load the DLL and .show the form from the loaded module via maxscript. Is this more or less the accepted best practice now?
Hello!
Every tool I develop for 3dsMax is done using C# and ManagedServices to run maxscript commands.
For me this is the best way to build interfaces and speed-up all the computations I need to do.
Ditto. Except we only communicated with C# from Max via MXS (so added stuff to event handlers, for example), never communicated with Max from C# via ManagedServices. It seems like that’d be much more difficult (because you cannot test stand-alone and if you need to change something in C# you’d need to restart Max. It’d also be less abstracted).