Пример #1
0
 /// <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);
     }
 }
Пример #2
0
 /// <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);
     }
 }
Пример #3
0
        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);
            }
        }
Пример #4
0
 void OnSmartPartActivatedEvent(object sender, WorkspaceEventArgs e)
 {
     composedWorkspace.RaiseSmartPartActivated(e);
 }