Это скорее комментарий, чем ответ, но я боюсь, что он окажется слишком большим для комментария. Вот немного пищи для размышлений. Я постараюсь быть как можно мягче, но я не известен среди тех, кто знает меня за мою мягкость ....;)
Я беспокоюсь, что вы идете по этому поводу ... не в идеале, архитектурно. Ваш вопрос говорит о том, что вы хотите, чтобы пользователь выполнил модальную операцию (команда - показ диалога - что-то с диалогом - закрытие диалога), но вы используете немодальный (потенциально всегда включенный) элемент графического интерфейса (PaletteSet
).
Вы спрашивали себя - что произойдет, если пользователь никогда не закроет диалог? С PaletteSet
у них есть такая опция. В этом случае ваш «вайп» никогда не запустится. Это также вызовет проблемы в будущем?
Полагаю, я хотел бы задать вам вопрос: "Является ли PaletteSet
правильным инструментом для работы, которую я делаю?" Я только догадываюсь о работе и рабочем процессе из вашего описания и снимка экрана, но то, что я предполагаю, касается меня. Интересно, если вы действительно хотите использовать здесь, это простую модальную форму, запускаемую из любого механизма, который в данный момент запускает ваш PaletteSet
, который пользователь должен отклонить нажатием кнопки ОК, и тогда вы сделаете «стирание» в ОК обработчик.
Если причина, по которой вы используете PaletteSet
, заключается в том, что пользователь должен взаимодействовать с чертежом, пока он активен, существуют способы заставить модальный диалог убраться с дороги и позволить ему выбирать объекты или что-то еще необходимо. Имейте в виду, что, когда немодальный PaletteSet
активен, пользователь может делать буквально все что угодно - открывать другие чертежи, рисовать сущности, ссылаться на другие чертежи, выполнять другие команды и т. Д. Нужно ли, чтобы ваш диалог имел такую большую гибкость? Готов ли он обращаться с собой должным образом во всех этих ситуациях?
Надеюсь, это было как-то полезно, даже если я полностью неправильно понял вашу ситуацию.