WPF woes and Max

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).

If you need help, just let us know.

Started looking into this the other day, but i’m curious how you interact with a few of these bits when loading the ui using the XamlReader as in Chad’s example here: http://www.chadmauldin.com/Examples/Maxscript/WPF_UI.ms or Artur’s example here: http://tech-artists.org/forum/showthread.php?t=347&highlight=xaml

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).

I guess it comes down to a tradeoff of being able to do work and keep your sanity in c# vs do things abstracted/easily iterable in maxscript.

eek!