Notifications
Clear all

[Closed] WPF in Max

For people working with WPF and Xaml, here are a couple useful debugging tools:

XamlPadSnoop

 PEN

Can we please get this thread made sticky?

1 Reply
(@jhaywood)
Joined: 11 months ago

Posts: 0

I don’t know, I kind of like just having individual threads on specific topics. Does anyone even look at the dotNet thread anymore, and trying to find something in there is a pain.

 PEN

Well that is true.

I asked CGN for subcategories within the MXS/SDK forum for dotNet and Python etc but the admin that replied said it seemed too messy…

Maybe I can ask for a poll that asks how many people would like to see some more sub-categories within the MXS/SDK forum…

I’ve added a new blog post describing a redraw issue I came across and how I got around it. Click the blog link below to read it.

 PEN

Nice, thanks for posting this.

hi james,

I had exactly the same issue with custom dotnet controls in docked rollouts (and the command panel quite annoyingly)

I fixed it in the same way you did, except with a MXS timer –

dotnetcontrol LegSelector "LoneRobot.UI.Character.PuppetShopLegSelector" 
	timer refresh  interval:1 active:false

	on rollout open do			
		refresh.active = true	
			
	on refresh tick do 
	(
		LegSelector.refresh()
		refresh.active = false
	)

Great minds think alike Pete. Guess I never ran across it before because none of my dotNet tools were dockable. But now I’m working on a new version of the toolbar that lets the artists access all of our custom tools. The first version was straight maxScript, but now I’m getting all fancy and going crazy with everything that WPF so easily provides (customizability, smart control layouts, etc.).

Well, now I’ve run into another blocker. What a hassle. This one seems to be specific to WPF, though, unlike the disappearing controls which Pete ran into also. It appears that I can’t enter text into any type of text field on a WPF control hosted in a rollout. If it’s in a form, there’s no problem. And it’s not an accelerator issue either. It’s just not allowed. Run the following code and you’ll see what I mean:

dotNet.loadAssembly @"C:\Program Files  (x86)\Reference  Assemblies\Microsoft\Framework\v3.0\WindowsFormsIntegration.dll"
  rollout rlt "" width:200 height:45
   (
      dotNetControl tb "TextBox" Text:"WinForm" width:200 height:20 align:#left offset:[-14,-5]
      dotNetControl eh "Integration.ElementHost" width:200 height:20 align:#left offset:[-14,0]
      local wpfTb
      on rlt open do
      (
   	 uc = dotNetObject "System.Windows.Controls.UserControl"
   	 eh.child = uc
   	 wpfTb = dotNetObject "System.Windows.Controls.TextBox"
   	 wpfTb.height = 20
   	 wpfTb.text = "WPF"
   	 uc.content = wpfTb
      )
   )
   
   createDialog rlt

The top box is a .Net text box, and the bottom one is a WPF text box. You can enter text into the .Net one with no problem, but when you try typing into the bottom one you just get dinging sounds which indicate that keyboard input is disabled.

But the text is setable through script, like so…

 rlt.wpfTb.text = "test text"

I’ll keep trying to get around it, but any ideas or solutions would be really appreciated.

Good Luck James :). I will have to checkout all this WPF stuff sometime. Thanks for the tuts and whatnot you have so far.

I’ve been adding some more stuff to my bar, but not quite as often as before. Mainly because I have most all of what I need for now.

Page 2 / 3