public static IReadOnlyList <Delegate> RemoveEventHandlersFromEvent(this ToolbarsManager toolbarsManager, string eventName) { var eventsPropertyInfo = toolbarsManager .GetType() .GetProperties(staticEventBindingFlags) .Where(p => p.Name.Equals("Events", StringComparison.OrdinalIgnoreCase) && p.PropertyType.Equals(typeof(Infragistics.Shared.EventHandlerDictionary))) .FirstOrDefault(); var eventHandlerList = eventsPropertyInfo? .GetValue(toolbarsManager, new object[] { }) as Infragistics.Shared.EventHandlerDictionary; var eventFieldInfo = typeof(ToolbarsManager) .BaseType .GetFields(staticFieldBindingFlags) .FirstOrDefault(fi => fi.Name.Equals("Event_" + eventName, StringComparison.OrdinalIgnoreCase)); var eventKey = eventFieldInfo.GetValue(toolbarsManager); var currentEventHandler = eventHandlerList[eventKey]; var currentRegistredHandlers = currentEventHandler.GetInvocationList(); foreach (var item in currentRegistredHandlers) { toolbarsManager.GetType().GetEvent(eventName).RemoveEventHandler(toolbarsManager, item); } return(currentRegistredHandlers.ToList().AsReadOnly()); }
static public void InitializeAll() { // API features EventManager.Init(); ElementsManager.Init(); ViewportPointerEvents.Init(); MainMenuManager.Init(); ToolbarsManager.Init(); ToolManager.Init(); Stage.Init(); TabManager.Init(); // Extensions Festival_Bridge.Tools.Index.Init(); }
public static void AddEventHandlerForEvent(this ToolbarsManager toolbarsManager, string eventName, Delegate @delegate) => toolbarsManager.GetType().GetEvent(eventName).AddEventHandler(toolbarsManager, @delegate);