public void RegisterActionFilter(string actionId, IActionStateFilter filter) { foreach (ToolbarActionGroup group in _actionGroups) { ToolbarAction action = (ToolbarAction)group.Actions.FindByKey(actionId); if (action != null) { action.AddFilter(filter); break; } } }
internal void AddFilter(IActionStateFilter filter) { if (_filters == null || _filters.Length == 0) { _filters = new[] { filter }; } else { IActionStateFilter[] newFilters = new IActionStateFilter[_filters.Length + 1]; Array.Copy(newFilters, _filters, _filters.Length); newFilters [_filters.Length] = filter; _filters = newFilters; } }