На самом деле я пошел дальше этого. Например, вы можете создать SystemEvent и опубликовать его по теме с именем «Application.UI.TreeInstance. [InstanceName] .Node.Clicked», и если вы зарегистрируетесь для чего-либо вроде «Application. » или «Aplication. UI. 'или' Application.UI.TreeInstance. [InstanceName] .Node. * 'Или полный предмет, который вы получите для своего делегата через многоадресную рассылку и получите событие. SystemEvent вы можете определить как хотите; он имеет ValueNamePairCollection и общедоступный интерфейс для вывода данных по вашему желанию. Вы можете зарегистрироваться для синхронной и асинхронной обработки, а также для отмены регистрации. Мои элементы пользовательского интерфейса теперь обрабатывают интересующие их события, не зная, кто их публикует.
Если у сообщества есть интерес к подобным вещам, я мог бы упаковать код и сделать его доступным, чтобы мы могли поделиться и улучшить. Я проверил это тщательно и работает на 100%. Также я написал некоторый графический интерфейс мониторинга, который вы можете видеть в режиме реального времени, что происходит с публикациями и подписками, а также регистрациями и отменами регистрации.