private void OnDockableToolsToggleButtonClicked(KeyValuePair <IRibbonToggleButton, Type> obj) { if (obj.Key.IsChecked == true) { ToolViewModel toolInstance = (ToolViewModel)Activator.CreateInstance(obj.Value); toolInstance.Connect(Data, _events); _dockableTools.Add(toolInstance); AddDocumentTools(toolInstance); } else if (obj.Key.IsChecked == false) { ToolViewModel tool = _dockableTools.Where(a => a.GetType() == obj.Value).Select(a => a).FirstOrDefault(); if (tool != null) { tool.Disconnect(); _dockableTools.Remove(tool); RemoveDocumentTool(tool); } } }