/// <summary> /// Raises the <see cref="SmartPartActivated"/> event. /// </summary> /// <param name="smartPart">The smart part that was activated.</param> protected void RaiseSmartPartActivated(object smartPart) { if (this.SmartPartActivated != null) { WorkspaceEventArgs args = new WorkspaceEventArgs(smartPart); this.SmartPartActivated(this, args); } }
/// <summary> /// 数据列表激活事件 /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="e">The <see cref="Microsoft.Practices.CompositeUI.SmartParts.WorkspaceEventArgs"/> instance containing the event data.</param> private void DataList_SmartPartActivated(object sender, WorkspaceEventArgs e) { if (!smartParts.Contains(e.SmartPart)) { AuthorizationAttribute[] attrs = (AuthorizationAttribute[])e.SmartPart.GetType().GetCustomAttributes(typeof(AuthorizationAttribute), true); if (attrs.Length > 0) { try { ResotreLayout((Control)e.SmartPart, attrs[0]); } catch { } } smartParts.Add(e.SmartPart); } }
void workspace_SmartPartActivated(object sender, WorkspaceEventArgs e) { Color? BeforeColor = null; Color? AfterColor = null; DockPanelWorkspace dockPanelWorkspace = (DockPanelWorkspace)sender; if (dockPanelWorkspace == null) return; if (dockPanelWorkspace.ActivePane == null) return; dockPanelWorkspace.Skin.DockPaneStripSkin.DocumentGradient.ActiveTabGradient.LinearGradientMode = LinearGradientMode.Vertical; if (dockPanelWorkspace.ActivePane.DockState == DockState.DockLeft) { if (dockPanelWorkspace.ActiveDocumentPane == null) return; BeforeColor = dockPanelWorkspace.ActivePane.DockPanel.Skin.DockPaneStripSkin.DocumentGradient.DockStripGradient.StartColor; dockPanelWorkspace.ActivePane.DockPanel.Skin.DockPaneStripSkin.DocumentGradient.DockStripGradient.StartColor = Color.White; dockPanelWorkspace.ActivePane.DockPanel.Skin.DockPaneStripSkin.DocumentGradient.DockStripGradient.EndColor = Color.White; dockPanelWorkspace.ActivePane.DockPanel.Skin.DockPaneStripSkin.DocumentGradient.ActiveTabGradient.StartColor = Color.White; dockPanelWorkspace.ActivePane.DockPanel.Skin.DockPaneStripSkin.DocumentGradient.ActiveTabGradient.EndColor = Color.White; } else { BeforeColor = dockPanelWorkspace.ActivePane.DockPanel.Skin.DockPaneStripSkin.DocumentGradient.DockStripGradient.StartColor; DevExpress.Skins.SkinElement skinElement; string elementName; //currentSkin = DevExpress.Skins.EditorsSkins.GetSkin(UserLookAndFeel.Default); //elementName = DevExpress.Skins.EditorsSkins.SkinCheckBox; currentSkin = DevExpress.Skins.CommonSkins.GetSkin(UserLookAndFeel.Default); elementName = DevExpress.Skins.CommonSkins.SkinForm; skinElement = currentSkin[elementName]; Color skinFormBackColor = skinElement.Color.BackColor; if (dockPanelWorkspace.ActiveSmartPart is Eland.GBFW.Win.Common.View.GBFWBaseView) ((Eland.GBFW.Win.Common.View.GBFWBaseView)(dockPanelWorkspace.ActiveSmartPart)).BackColor = skinFormBackColor; Color skinDockStripGradientStart = currentSkin.Properties.GetColor("DockStripGradientStart"); Color skinDockStripGradientEnd = currentSkin.Properties.GetColor("DockStripGradientEnd"); Color skinActiveTabGradientStart = currentSkin.Properties.GetColor("ActiveTabGradientStart"); Color skinActiveTabGradientEnd = currentSkin.Properties.GetColor("ActiveTabGradientEnd"); Color skinInactiveTabGradientStart = currentSkin.Properties.GetColor("InactiveTabGradientStart"); Color skinInactiveTabGradientEnd = currentSkin.Properties.GetColor("InactiveTabGradientEnd"); if (skinDockStripGradientStart.IsEmpty) { dockPanelWorkspace.ActivePane.DockPanel.Skin.DockPaneStripSkin.DocumentGradient.DockStripGradient.StartColor = Color.PowderBlue; dockPanelWorkspace.ActivePane.DockPanel.Skin.DockPaneStripSkin.DocumentGradient.DockStripGradient.EndColor = Color.PowderBlue; dockPanelWorkspace.ActivePane.DockPanel.Skin.DockPaneStripSkin.DocumentGradient.ActiveTabGradient.StartColor = Color.FromArgb(250, 230, 130); dockPanelWorkspace.ActivePane.DockPanel.Skin.DockPaneStripSkin.DocumentGradient.ActiveTabGradient.EndColor = Color.FromArgb(248, 244, 229); } else { dockPanelWorkspace.ActivePane.DockPanel.Skin.DockPaneStripSkin.DocumentGradient.DockStripGradient.StartColor = skinDockStripGradientStart; dockPanelWorkspace.ActivePane.DockPanel.Skin.DockPaneStripSkin.DocumentGradient.DockStripGradient.EndColor = skinDockStripGradientEnd; dockPanelWorkspace.ActivePane.DockPanel.Skin.DockPaneStripSkin.DocumentGradient.ActiveTabGradient.StartColor = skinActiveTabGradientStart; dockPanelWorkspace.ActivePane.DockPanel.Skin.DockPaneStripSkin.DocumentGradient.ActiveTabGradient.EndColor = skinActiveTabGradientEnd; dockPanelWorkspace.ActivePane.DockPanel.Skin.DockPaneStripSkin.DocumentGradient.InactiveTabGradient.StartColor = skinInactiveTabGradientStart; dockPanelWorkspace.ActivePane.DockPanel.Skin.DockPaneStripSkin.DocumentGradient.InactiveTabGradient.EndColor = skinInactiveTabGradientEnd; } //if (dockPanelWorkspace.ActiveSmartPart is Eland.GBFW.Win.Common.View.GBFWBaseView) // ((Eland.GBFW.Win.Common.View.GBFWBaseView)(dockPanelWorkspace.ActiveSmartPart)).BackColor = userControlBackColor; } // 스킨 적용시 WinForm BackColor 설정 //UserLookAndFeel lookAndFeel = UserLookAndFeel.Default; //Skin currentSkin = CommonSkins.GetSkin(lookAndFeel); //Color userControlBackColor = currentSkin.Properties.GetColor("userControlBackColor"); //dockPanelWorkspace.ActivePane.DockPanel.BackColor = Color.Red; AfterColor = dockPanelWorkspace.ActivePane.DockPanel.Skin.DockPaneStripSkin.DocumentGradient.DockStripGradient.StartColor; if (BeforeColor == AfterColor) return; foreach (DockPane pane in dockPanelWorkspace.Panes) { if (pane.DockState != DockState.DockLeft) pane.Invalidate(true); } }
void OnSmartPartActivatedEvent(object sender, WorkspaceEventArgs e) { composedWorkspace.RaiseSmartPartActivated(e); }