Refresh issues with InteractiveVisual3D

Topics: User Forum
Feb 27, 2007 at 2:00 PM
Edited Feb 28, 2007 at 7:19 AM
I used InteractiveVisual3D for testing and created a cube where I put different Visuals on each pane. When I changed the ResourceDictionary (for custom skin), InteractiveVisual3D Visuals won't get updated until I mouse over.

Another problem is when I change the Visual property of InteractiveVisual3D at runtime, I get an error. I tried to solve this by adding a ContentControl on each pane of the cube and then just changed the Content of the ContentControl when changing the visual. This works but I get the refresh problem again, new Content is not displayed before I mouse over the pane.

Thanks for any ideas!
Mar 1, 2007 at 5:09 PM
We just released an updated 3DTools. Do your problems still show up?
Mar 1, 2007 at 7:43 PM
Thanks Kurt!

Changing the Visual works now and they also appear straight without having to mouse-over first.

Changing Application.Current.Resources refreshes Visuals on InteractiveVisual3D controls as well. There's one weird behavior though. I generate all my InteractiveVisual3D's on runtime and set Visual propery to my control. Then I change the Resources from the application and layouts won't change (even if I mouse over on the InteractiveVisual3Ds). When I generate my layout again, Everything is updated and from then on every time I change Application.Current.Resources, everything gets updated. I'm not sure if this is a problem with 3DTools or if I'm doing something wrong though.
Mar 20, 2007 at 7:51 PM
This is probably an issue with 3DTools. Just given some of the tricks we're playing behind the scenes, sometimes you have to get a little creative to get everything to work.

I'll see if I can find a fix I can put in 3DTools though. Let me make sure I can get a repro on this. So you have a ResourceDictionary filled with info that will be used for a custom skin. And then you modify these resources to change the skin, which updates the visual look, but doesn't change the layout? But if you explicitly cause layout to happen, then everything is ok?
Mar 22, 2007 at 4:16 PM
I couldn't reproduce this anymore. I ended up creating my own FakeInteractiveVisual3D which is as it says a fake version of interactiveVisual3D :). I hide 2D control same way like in InteractiveVisual3D and show it when animations are finnished on top of the 3D control.