@Keith.Brown wrote:So some good news, I implemented your PropertyInspector code above and it did exactly what I needed it to do. I created a little helper class that implements IDisposible to handle all of the state saving for me.
Good, then that completely solves the problem and you can dispense with all of that confusing , overly-complicated code (ExecuteInCommandContextAsync(), Command(), etc.) since the properties palette can be hidden and shown without having to execute commands, and/or handle all sorts of events.
Keep in mind what I mentioned above, about showing/hiding a docked PaletteSet, which will cancel any running command or script.