/// <summary> /// 此处修复了Window Workspace视图关闭后再次打开出错的问题 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void WindowFormClosed(object sender, WorkspaceEventArgs e) { Form form = windows[(Control)e.SmartPart]; if (form != null) { form.Controls.Remove((Control)e.SmartPart); } windows.Remove((Control)e.SmartPart); InnerSmartParts.Remove((Control)e.SmartPart); }
private Window GetOrCreateWindow(UIElement smartPart) { Window window; if (!_windows.TryGetValue(smartPart, out window)) { window = new Window(); _windows[smartPart] = window; window.Content = smartPart; window.Closing += delegate(object sender, System.ComponentModel.CancelEventArgs e) { RaiseSmartPartClosing(e); }; window.Closed += delegate(object sender, EventArgs e) { _windows.Remove(smartPart); InnerSmartParts.Remove(smartPart); }; } return(window); }
private void WindowFormClosed(object sender, WorkspaceEventArgs e) { RemoveEntry((Control)e.SmartPart); InnerSmartParts.Remove((Control)e.SmartPart); }