Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / NetFx40 / Tools / System.Activities.Presentation / System / Activities / Presentation / WorkflowDesignerColors.cs / 1305376 / WorkflowDesignerColors.cs
//------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- namespace System.Activities.Presentation { using System; using System.Collections.Generic; using System.Text; using System.Windows.Media; using System.Windows; using System.Runtime; using System.Activities.Presentation.Internal.PropertyEditing; public static class WorkflowDesignerColors { static ResourceDictionary defaultColors; static ResourceDictionary highContrastColors; static ResourceDictionary colorServiceColors; static ResourceDictionary fontResources; public const string WorkflowViewElementBorderColorKey = "WorkflowViewElementBorderColorKey"; public const string WorkflowViewElementBackgroundColorKey = "WorkflowViewElementBackgroundColorKey"; public const string WorkflowViewElementSelectedBackgroundColorKey = "WorkflowViewElementSelectedBackgroundColorKey"; public const string WorkflowViewElementSelectedBorderColorKey = "WorkflowViewElementSelectedBorderColorKey"; public const string DesignerViewStatusBarBackgroundColorKey = "DesignerViewStatusBarBackgroundColorKey"; public const string WorkflowViewElementCaptionColorKey = "WorkflowViewElementCaptionBrushColorKey"; public const string DesignerViewBackgroundColorKey = "DesignerViewBackgroundColorKey"; public const string DesignerViewShellBarColorGradientBeginKey = "DesignerViewShellBarColorGradientBeginKey"; public const string DesignerViewShellBarColorGradientEndKey = "DesignerViewShellBarColorGradientEndKey"; public const string DesignerViewShellBarSelectedColorGradientBeginKey = "DesignerViewShellBarSelectedColorGradientBeginKey"; public const string DesignerViewShellBarSelectedColorGradientEndKey = "DesignerViewShellBarSelectedColorGradientEndKey"; public const string DesignerViewShellBarHoverColorGradientBeginKey = "DesignerViewShellBarSelectedHoverGradientBeginKey"; public const string DesignerViewShellBarHoverColorGradientEndKey = "DesignerViewShellBarSelectedHoverGradientEndKey"; public const string DesignerViewShellBarControlBackgroundColorKey = "DesignerViewShellBarControlBackgroundColorKey"; public const string DesignerViewShellBarCaptionActiveColorKey = "DesignerViewShellBarCaptionActiveColorKey"; public const string DesignerViewShellBarCaptionColorKey = "DesignerViewShellBarCaptionColorKey"; public const string DesignerViewExpandAllCollapseAllButtonColorKey = "DesignerViewExpandAllCollapseAllButtonColorKey"; public const string DesignerViewExpandAllCollapseAllButtonMouseOverColorKey = "DesignerViewExpandAllCollapseAllButtonMouseOverColorKey"; public const string DesignerViewExpandAllCollapseAllPressedColorKey = "DesignerViewExpandAllCollapseAllPressedColorKey"; public const string ContextMenuBackgroundGradientBeginColorKey = "ContextMenuColorGradientBeginColorKey"; public const string ContextMenuBackgroundGradientEndColorKey = "ContextMenuColorGradientEndColorKey"; public const string ContextMenuBorderColorKey = "ContextMenuBorderColorKey"; public const string ContextMenuIconAreaColorKey = "ContextMenuIconAreaColorKey"; public const string ContextMenuMouseOverBeginColorKey = "ContextMenuMouseOverBeginColorKey"; public const string ContextMenuMouseOverMiddle1ColorKey = "ContextMenuMouseOverMiddle1ColorKey"; public const string ContextMenuMouseOverMiddle2ColorKey = "ContextMenuMouseOverMiddle2ColorKey"; public const string ContextMenuMouseOverEndColorKey = "ContextMenuMouseOverEndColorKey"; public const string ContextMenuMouseOverBorderColorKey = "ContextMenuMouseOverBorderColorKey"; public const string ContextMenuItemTextColorKey = "ContextMenuItemTextColorKey"; public const string ContextMenuItemTextHoverColorKey = "ContextMenuItemTextHoverColorKey"; public const string ContextMenuItemTextSelectedColorKey = "ContextMenuItemTextSelectedColorKey"; public const string ContextMenuItemTextDisabledColorKey = "ContextMenuItemTextDisabledColorKey"; public const string ContextMenuSeparatorColorKey = "ContextMenuSeparatorColorKey"; public static string PropertyInspectorTextBrushKey { get { return PropertyInspectorMergedResources.TextBrushKey; } } public static string PropertyInspectorSelectedForegroundBrushKey { get { return PropertyInspectorMergedResources.SelectedForegroundBrushKey; } } public static string PropertyInspectorSelectedBackgroundBrushKey { get { return PropertyInspectorMergedResources.SelectedBackgroundBrushKey; } } public static string PropertyInspectorBackgroundBrushKey { get { return PropertyInspectorMergedResources.BackgroundBrushKey; } } public static string PropertyInspectorBorderBrushKey { get { return PropertyInspectorMergedResources.BorderBrushKey; } } public static string PropertyInspectorCategoryCaptionTextBrushKey { get { return PropertyInspectorMergedResources.CategoryCaptionTextBrushKey; } } public static string PropertyInspectorPaneBrushKey { get { return PropertyInspectorMergedResources.PaneBrushKey; } } public static string PropertyInspectorPopupBrushKey { get { return PropertyInspectorMergedResources.PopupBrushKey; } } public static string PropertyInspectorToolBarItemHoverBackgroundBrushKey { get { return PropertyInspectorMergedResources.ToolBarItemHoverBackgroundBrushKey; } } public static string PropertyInspectorToolBarItemHoverBorderBrushKey { get { return PropertyInspectorMergedResources.ToolBarItemHoverBorderBrushKey; } } public static string PropertyInspectorToolBarItemSelectedBackgroundBrushKey { get { return PropertyInspectorMergedResources.ToolBarItemSelectedBackgroundBrushKey; } } public static string PropertyInspectorToolBarItemSelectedBorderBrushKey { get { return PropertyInspectorMergedResources.ToolBarItemSelectedBorderBrushKey; } } public static string PropertyInspectorToolBarBackgroundBrushKey { get { return PropertyInspectorMergedResources.ToolBarBackgroundBrushKey; } } public static string PropertyInspectorToolBarSeparatorBrushKey { get { return PropertyInspectorMergedResources.ToolBarSeparatorBrushKey; } } public static string PropertyInspectorToolBarTextBoxBorderBrushKey { get { return PropertyInspectorMergedResources.ToolBarTextBoxBorderBrushKey; } } public const string FlowchartExpressionButtonColorKey = "FlowchartExpressionButtonColorKey"; public const string FlowchartExpressionButtonMouseOverColorKey = "FlowchartExpressionButtonMouseOverColorKey"; public const string FlowchartExpressionButtonPressedColorKey = "FlowchartExpressionButtonPressedColorKey"; public static readonly string FontSizeKey = CreateKey("FontSizeKey"); public static readonly string FontFamilyKey = CreateKey("FontFamilyKey"); public static readonly string FontWeightKey = CreateKey("FontWeightKey"); static ResourceDictionary DefaultColors { get { if (defaultColors == null) { Uri resourceLocator = new Uri( string.Concat( typeof(WorkflowDesignerColors).Assembly.GetName().Name, @";component/System/Activities/Presentation/DefaultColorResources.xaml"), UriKind.RelativeOrAbsolute); defaultColors = (ResourceDictionary)Application.LoadComponent(resourceLocator); } Fx.Assert(defaultColors != null, "Could not load default color resources."); return defaultColors; } } static ResourceDictionary HighContrastColors { get { if (highContrastColors == null) { Uri resourceLocator = new Uri( string.Concat( typeof(WorkflowDesignerColors).Assembly.GetName().Name, @";component/System/Activities/Presentation/HighContrastColorResources.xaml"), UriKind.RelativeOrAbsolute); highContrastColors = (ResourceDictionary)Application.LoadComponent(resourceLocator); } Fx.Assert(highContrastColors != null, "Could not load high contrast color resources."); return highContrastColors; } } internal static ResourceDictionary ColorServiceColors { get { if (colorServiceColors == null) { colorServiceColors = new ResourceDictionary(); } return colorServiceColors; } } internal static ResourceDictionary FontResources { get { return WorkflowDesignerColors.fontResources; } set { WorkflowDesignerColors.fontResources = value; } } // Trying to figure out whether or not we are in highcontrast mode is a little tricky. // There are two things highcontrast mode and highcontrast color scheme. unfortunately in some platforms ( w2k3) these are not both updated from OS UX // here is a good article on this http://blogs.msdn.com/oldnewthing/archive/2008/12/03/9167477.aspx // highcontrast mode can be detected easily by using // applications in generatel ( e.g. VS) unfortunately handle high contrast color scheme as well, so we are forced to do it // This is code is dervied from the way VS does this. static bool IsHighContrastEnabled { get { if (SystemParameters.HighContrast) { return true; } if (SystemColors.ControlColor == Colors.Black && SystemColors.ControlTextColor == Colors.White) { return true; } if (SystemColors.ControlColor == Colors.White && SystemColors.ControlTextColor == Colors.Black) { return true; } if (SystemColors.ControlColor == Colors.Black && SystemColors.ControlTextColor == Color.FromArgb(0xff, 0x00, 0xff, 0x00)) { return true; } return false; } } public static Color WorkflowViewElementBorderColor { get { return GetColor(WorkflowDesignerColors.WorkflowViewElementBorderColorKey); } } public static Color WorkflowViewElementBackgroundColor { get { return GetColor(WorkflowDesignerColors.WorkflowViewElementBackgroundColorKey); } } public static Color WorkflowViewElementSelectedBackgroundColor { get { return GetColor(WorkflowDesignerColors.WorkflowViewElementSelectedBackgroundColorKey); } } public static Color GridViewRowHoverColor { get { return GetColor(WorkflowDesignerColors.WorkflowViewElementSelectedBackgroundColorKey, 0xA0); } } public static Color WorkflowViewElementSelectedBorderColor { get { return GetColor(WorkflowDesignerColors.WorkflowViewElementSelectedBorderColorKey); } } public static Color DesignerViewStatusBarBackgroundColor { get { return GetColor(WorkflowDesignerColors.DesignerViewStatusBarBackgroundColorKey); } } public static Color WorkflowViewElementCaptionColor { get { return GetColor(WorkflowDesignerColors.WorkflowViewElementCaptionColorKey); } } public static Color DesignerViewBackgroundColor { get { return GetColor(WorkflowDesignerColors.DesignerViewBackgroundColorKey); } } public static Color DesignerViewShellBarColorGradientBeginColor { get { return GetColor(WorkflowDesignerColors.DesignerViewShellBarColorGradientBeginKey); } } public static Color DesignerViewShellBarColorGradientEndColor { get { return GetColor(WorkflowDesignerColors.DesignerViewShellBarColorGradientEndKey); } } public static Color DesignerViewShellBarSelectedColorGradientBeginColor { get { return GetColor(WorkflowDesignerColors.DesignerViewShellBarSelectedColorGradientBeginKey); } } public static Color DesignerViewShellBarSelectedColorGradientEndColor { get { return GetColor(WorkflowDesignerColors.DesignerViewShellBarSelectedColorGradientEndKey); } } public static Color DesignerViewShellBarHoverColorGradientBeginColor { get { return GetColor(WorkflowDesignerColors.DesignerViewShellBarHoverColorGradientBeginKey); } } public static Color DesignerViewShellBarHoverColorGradientEndColor { get { return GetColor(WorkflowDesignerColors.DesignerViewShellBarHoverColorGradientEndKey); } } public static Color DesignerViewShellBarControlBackgroundColor { get { return GetColor(WorkflowDesignerColors.DesignerViewShellBarControlBackgroundColorKey); } } public static Color DesignerViewShellBarCaptionActiveColor { get { return GetColor(WorkflowDesignerColors.DesignerViewShellBarCaptionActiveColorKey); } } public static Color DesignerViewShellBarCaptionColor { get { return GetColor(WorkflowDesignerColors.DesignerViewShellBarCaptionColorKey); } } public static Brush DesignerViewExpandAllCollapseAllButtonBrush { get { return GetBrush(WorkflowDesignerColors.DesignerViewExpandAllCollapseAllButtonColorKey); } } public static Brush DesignerViewExpandAllCollapseAllButtonMouseOverBrush { get { return GetBrush(WorkflowDesignerColors.DesignerViewExpandAllCollapseAllButtonMouseOverColorKey); } } public static Brush DesignerViewExpandAllCollapseAllPressedBrush { get { return GetBrush(WorkflowDesignerColors.DesignerViewExpandAllCollapseAllPressedColorKey); } } public static Color ContextMenuBackgroundGradientBeginColor { get { return GetColor(WorkflowDesignerColors.ContextMenuBackgroundGradientBeginColorKey); } } public static Color ContextMenuBackgroundGradientEndColor { get { return GetColor(WorkflowDesignerColors.ContextMenuBackgroundGradientEndColorKey); } } public static Color ContextMenuBorderColor { get { return GetColor(WorkflowDesignerColors.ContextMenuBorderColorKey); } } public static Color ContextMenuIconAreaColor { get { return GetColor(WorkflowDesignerColors.ContextMenuIconAreaColorKey); } } public static Color ContextMenuMouseOverBeginColor { get { return GetColor(WorkflowDesignerColors.ContextMenuMouseOverBeginColorKey); } } public static Color ContextMenuMouseOverMiddle1Color { get { return GetColor(WorkflowDesignerColors.ContextMenuMouseOverMiddle1ColorKey); } } public static Color ContextMenuMouseOverMiddle2Color { get { return GetColor(WorkflowDesignerColors.ContextMenuMouseOverMiddle2ColorKey); } } public static Color ContextMenuMouseOverEndColor { get { return GetColor(WorkflowDesignerColors.ContextMenuMouseOverEndColorKey); } } public static Color ContextMenuMouseOverBorderColor { get { return GetColor(WorkflowDesignerColors.ContextMenuMouseOverBorderColorKey); } } public static Color ContextMenuItemTextColor { get { return GetColor(WorkflowDesignerColors.ContextMenuItemTextColorKey); } } public static Color ContextMenuItemTextHoverColor { get { return GetColor(WorkflowDesignerColors.ContextMenuItemTextHoverColorKey); } } public static Color ContextMenuItemTextSelectedColor { get { return GetColor(WorkflowDesignerColors.ContextMenuItemTextSelectedColorKey); } } public static Color ContextMenuItemTextDisabledColor { get { return GetColor(WorkflowDesignerColors.ContextMenuItemTextDisabledColorKey); } } public static Color ContextMenuSeparatorColor { get { return GetColor(WorkflowDesignerColors.ContextMenuSeparatorColorKey); } } public static Brush FlowchartExpressionButtonBrush { get { return GetBrush(WorkflowDesignerColors.FlowchartExpressionButtonColorKey); } } public static Brush FlowchartExpressionButtonMouseOverBrush { get { return GetBrush(WorkflowDesignerColors.FlowchartExpressionButtonMouseOverColorKey); } } public static Brush FlowchartExpressionButtonPressedBrush { get { return GetBrush(WorkflowDesignerColors.FlowchartExpressionButtonPressedColorKey); } } public static FontFamily FontFamily { get { return GetFontFamily(FontFamilyKey); } } public static double FontSize { get { return GetFontSize(FontSizeKey); } } public static FontWeight FontWeight { get { return GetFontWeight(FontWeightKey); } } static Brush GetBrush(string colorKey) { SolidColorBrush brush = null; if (IsHighContrastEnabled) { brush = (SolidColorBrush)WorkflowDesignerColors.HighContrastColors[colorKey]; } else if (WorkflowDesignerColors.ColorServiceColors.Contains(colorKey)) { brush = (SolidColorBrush)WorkflowDesignerColors.ColorServiceColors[colorKey]; } else { brush = (SolidColorBrush)WorkflowDesignerColors.DefaultColors[colorKey]; } if (brush.CanFreeze) { brush.Freeze(); } return brush; } static Color GetColor(string colorKey) { SolidColorBrush brush = (SolidColorBrush)GetBrush(colorKey); return brush.Color; } static Color GetColor(string colorKey, byte alpha) { Color color = GetColor(colorKey); color.A = alpha; return color; } static FontFamily GetFontFamily(string key) { if (IsHighContrastEnabled) { return SystemFonts.MessageFontFamily; } return WorkflowDesignerColors.FontResources.Contains(key) ? (FontFamily)WorkflowDesignerColors.FontResources[key] : SystemFonts.MessageFontFamily; } static double GetFontSize(string key) { if (IsHighContrastEnabled) { return SystemFonts.MessageFontSize; } return WorkflowDesignerColors.FontResources.Contains(key) ? (double)WorkflowDesignerColors.FontResources[key] : SystemFonts.MessageFontSize; } static FontWeight GetFontWeight(string key) { if (IsHighContrastEnabled) { return SystemFonts.MessageFontWeight; } return WorkflowDesignerColors.FontResources.Contains(key) ? (FontWeight)WorkflowDesignerColors.FontResources[key] : SystemFonts.MessageFontWeight; } static string CreateKey(string name) { //return AdornerResources.CreateResourceKey(typeof(PropertyInspectorMergedResources), name); return name; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- namespace System.Activities.Presentation { using System; using System.Collections.Generic; using System.Text; using System.Windows.Media; using System.Windows; using System.Runtime; using System.Activities.Presentation.Internal.PropertyEditing; public static class WorkflowDesignerColors { static ResourceDictionary defaultColors; static ResourceDictionary highContrastColors; static ResourceDictionary colorServiceColors; static ResourceDictionary fontResources; public const string WorkflowViewElementBorderColorKey = "WorkflowViewElementBorderColorKey"; public const string WorkflowViewElementBackgroundColorKey = "WorkflowViewElementBackgroundColorKey"; public const string WorkflowViewElementSelectedBackgroundColorKey = "WorkflowViewElementSelectedBackgroundColorKey"; public const string WorkflowViewElementSelectedBorderColorKey = "WorkflowViewElementSelectedBorderColorKey"; public const string DesignerViewStatusBarBackgroundColorKey = "DesignerViewStatusBarBackgroundColorKey"; public const string WorkflowViewElementCaptionColorKey = "WorkflowViewElementCaptionBrushColorKey"; public const string DesignerViewBackgroundColorKey = "DesignerViewBackgroundColorKey"; public const string DesignerViewShellBarColorGradientBeginKey = "DesignerViewShellBarColorGradientBeginKey"; public const string DesignerViewShellBarColorGradientEndKey = "DesignerViewShellBarColorGradientEndKey"; public const string DesignerViewShellBarSelectedColorGradientBeginKey = "DesignerViewShellBarSelectedColorGradientBeginKey"; public const string DesignerViewShellBarSelectedColorGradientEndKey = "DesignerViewShellBarSelectedColorGradientEndKey"; public const string DesignerViewShellBarHoverColorGradientBeginKey = "DesignerViewShellBarSelectedHoverGradientBeginKey"; public const string DesignerViewShellBarHoverColorGradientEndKey = "DesignerViewShellBarSelectedHoverGradientEndKey"; public const string DesignerViewShellBarControlBackgroundColorKey = "DesignerViewShellBarControlBackgroundColorKey"; public const string DesignerViewShellBarCaptionActiveColorKey = "DesignerViewShellBarCaptionActiveColorKey"; public const string DesignerViewShellBarCaptionColorKey = "DesignerViewShellBarCaptionColorKey"; public const string DesignerViewExpandAllCollapseAllButtonColorKey = "DesignerViewExpandAllCollapseAllButtonColorKey"; public const string DesignerViewExpandAllCollapseAllButtonMouseOverColorKey = "DesignerViewExpandAllCollapseAllButtonMouseOverColorKey"; public const string DesignerViewExpandAllCollapseAllPressedColorKey = "DesignerViewExpandAllCollapseAllPressedColorKey"; public const string ContextMenuBackgroundGradientBeginColorKey = "ContextMenuColorGradientBeginColorKey"; public const string ContextMenuBackgroundGradientEndColorKey = "ContextMenuColorGradientEndColorKey"; public const string ContextMenuBorderColorKey = "ContextMenuBorderColorKey"; public const string ContextMenuIconAreaColorKey = "ContextMenuIconAreaColorKey"; public const string ContextMenuMouseOverBeginColorKey = "ContextMenuMouseOverBeginColorKey"; public const string ContextMenuMouseOverMiddle1ColorKey = "ContextMenuMouseOverMiddle1ColorKey"; public const string ContextMenuMouseOverMiddle2ColorKey = "ContextMenuMouseOverMiddle2ColorKey"; public const string ContextMenuMouseOverEndColorKey = "ContextMenuMouseOverEndColorKey"; public const string ContextMenuMouseOverBorderColorKey = "ContextMenuMouseOverBorderColorKey"; public const string ContextMenuItemTextColorKey = "ContextMenuItemTextColorKey"; public const string ContextMenuItemTextHoverColorKey = "ContextMenuItemTextHoverColorKey"; public const string ContextMenuItemTextSelectedColorKey = "ContextMenuItemTextSelectedColorKey"; public const string ContextMenuItemTextDisabledColorKey = "ContextMenuItemTextDisabledColorKey"; public const string ContextMenuSeparatorColorKey = "ContextMenuSeparatorColorKey"; public static string PropertyInspectorTextBrushKey { get { return PropertyInspectorMergedResources.TextBrushKey; } } public static string PropertyInspectorSelectedForegroundBrushKey { get { return PropertyInspectorMergedResources.SelectedForegroundBrushKey; } } public static string PropertyInspectorSelectedBackgroundBrushKey { get { return PropertyInspectorMergedResources.SelectedBackgroundBrushKey; } } public static string PropertyInspectorBackgroundBrushKey { get { return PropertyInspectorMergedResources.BackgroundBrushKey; } } public static string PropertyInspectorBorderBrushKey { get { return PropertyInspectorMergedResources.BorderBrushKey; } } public static string PropertyInspectorCategoryCaptionTextBrushKey { get { return PropertyInspectorMergedResources.CategoryCaptionTextBrushKey; } } public static string PropertyInspectorPaneBrushKey { get { return PropertyInspectorMergedResources.PaneBrushKey; } } public static string PropertyInspectorPopupBrushKey { get { return PropertyInspectorMergedResources.PopupBrushKey; } } public static string PropertyInspectorToolBarItemHoverBackgroundBrushKey { get { return PropertyInspectorMergedResources.ToolBarItemHoverBackgroundBrushKey; } } public static string PropertyInspectorToolBarItemHoverBorderBrushKey { get { return PropertyInspectorMergedResources.ToolBarItemHoverBorderBrushKey; } } public static string PropertyInspectorToolBarItemSelectedBackgroundBrushKey { get { return PropertyInspectorMergedResources.ToolBarItemSelectedBackgroundBrushKey; } } public static string PropertyInspectorToolBarItemSelectedBorderBrushKey { get { return PropertyInspectorMergedResources.ToolBarItemSelectedBorderBrushKey; } } public static string PropertyInspectorToolBarBackgroundBrushKey { get { return PropertyInspectorMergedResources.ToolBarBackgroundBrushKey; } } public static string PropertyInspectorToolBarSeparatorBrushKey { get { return PropertyInspectorMergedResources.ToolBarSeparatorBrushKey; } } public static string PropertyInspectorToolBarTextBoxBorderBrushKey { get { return PropertyInspectorMergedResources.ToolBarTextBoxBorderBrushKey; } } public const string FlowchartExpressionButtonColorKey = "FlowchartExpressionButtonColorKey"; public const string FlowchartExpressionButtonMouseOverColorKey = "FlowchartExpressionButtonMouseOverColorKey"; public const string FlowchartExpressionButtonPressedColorKey = "FlowchartExpressionButtonPressedColorKey"; public static readonly string FontSizeKey = CreateKey("FontSizeKey"); public static readonly string FontFamilyKey = CreateKey("FontFamilyKey"); public static readonly string FontWeightKey = CreateKey("FontWeightKey"); static ResourceDictionary DefaultColors { get { if (defaultColors == null) { Uri resourceLocator = new Uri( string.Concat( typeof(WorkflowDesignerColors).Assembly.GetName().Name, @";component/System/Activities/Presentation/DefaultColorResources.xaml"), UriKind.RelativeOrAbsolute); defaultColors = (ResourceDictionary)Application.LoadComponent(resourceLocator); } Fx.Assert(defaultColors != null, "Could not load default color resources."); return defaultColors; } } static ResourceDictionary HighContrastColors { get { if (highContrastColors == null) { Uri resourceLocator = new Uri( string.Concat( typeof(WorkflowDesignerColors).Assembly.GetName().Name, @";component/System/Activities/Presentation/HighContrastColorResources.xaml"), UriKind.RelativeOrAbsolute); highContrastColors = (ResourceDictionary)Application.LoadComponent(resourceLocator); } Fx.Assert(highContrastColors != null, "Could not load high contrast color resources."); return highContrastColors; } } internal static ResourceDictionary ColorServiceColors { get { if (colorServiceColors == null) { colorServiceColors = new ResourceDictionary(); } return colorServiceColors; } } internal static ResourceDictionary FontResources { get { return WorkflowDesignerColors.fontResources; } set { WorkflowDesignerColors.fontResources = value; } } // Trying to figure out whether or not we are in highcontrast mode is a little tricky. // There are two things highcontrast mode and highcontrast color scheme. unfortunately in some platforms ( w2k3) these are not both updated from OS UX // here is a good article on this http://blogs.msdn.com/oldnewthing/archive/2008/12/03/9167477.aspx // highcontrast mode can be detected easily by using // applications in generatel ( e.g. VS) unfortunately handle high contrast color scheme as well, so we are forced to do it // This is code is dervied from the way VS does this. static bool IsHighContrastEnabled { get { if (SystemParameters.HighContrast) { return true; } if (SystemColors.ControlColor == Colors.Black && SystemColors.ControlTextColor == Colors.White) { return true; } if (SystemColors.ControlColor == Colors.White && SystemColors.ControlTextColor == Colors.Black) { return true; } if (SystemColors.ControlColor == Colors.Black && SystemColors.ControlTextColor == Color.FromArgb(0xff, 0x00, 0xff, 0x00)) { return true; } return false; } } public static Color WorkflowViewElementBorderColor { get { return GetColor(WorkflowDesignerColors.WorkflowViewElementBorderColorKey); } } public static Color WorkflowViewElementBackgroundColor { get { return GetColor(WorkflowDesignerColors.WorkflowViewElementBackgroundColorKey); } } public static Color WorkflowViewElementSelectedBackgroundColor { get { return GetColor(WorkflowDesignerColors.WorkflowViewElementSelectedBackgroundColorKey); } } public static Color GridViewRowHoverColor { get { return GetColor(WorkflowDesignerColors.WorkflowViewElementSelectedBackgroundColorKey, 0xA0); } } public static Color WorkflowViewElementSelectedBorderColor { get { return GetColor(WorkflowDesignerColors.WorkflowViewElementSelectedBorderColorKey); } } public static Color DesignerViewStatusBarBackgroundColor { get { return GetColor(WorkflowDesignerColors.DesignerViewStatusBarBackgroundColorKey); } } public static Color WorkflowViewElementCaptionColor { get { return GetColor(WorkflowDesignerColors.WorkflowViewElementCaptionColorKey); } } public static Color DesignerViewBackgroundColor { get { return GetColor(WorkflowDesignerColors.DesignerViewBackgroundColorKey); } } public static Color DesignerViewShellBarColorGradientBeginColor { get { return GetColor(WorkflowDesignerColors.DesignerViewShellBarColorGradientBeginKey); } } public static Color DesignerViewShellBarColorGradientEndColor { get { return GetColor(WorkflowDesignerColors.DesignerViewShellBarColorGradientEndKey); } } public static Color DesignerViewShellBarSelectedColorGradientBeginColor { get { return GetColor(WorkflowDesignerColors.DesignerViewShellBarSelectedColorGradientBeginKey); } } public static Color DesignerViewShellBarSelectedColorGradientEndColor { get { return GetColor(WorkflowDesignerColors.DesignerViewShellBarSelectedColorGradientEndKey); } } public static Color DesignerViewShellBarHoverColorGradientBeginColor { get { return GetColor(WorkflowDesignerColors.DesignerViewShellBarHoverColorGradientBeginKey); } } public static Color DesignerViewShellBarHoverColorGradientEndColor { get { return GetColor(WorkflowDesignerColors.DesignerViewShellBarHoverColorGradientEndKey); } } public static Color DesignerViewShellBarControlBackgroundColor { get { return GetColor(WorkflowDesignerColors.DesignerViewShellBarControlBackgroundColorKey); } } public static Color DesignerViewShellBarCaptionActiveColor { get { return GetColor(WorkflowDesignerColors.DesignerViewShellBarCaptionActiveColorKey); } } public static Color DesignerViewShellBarCaptionColor { get { return GetColor(WorkflowDesignerColors.DesignerViewShellBarCaptionColorKey); } } public static Brush DesignerViewExpandAllCollapseAllButtonBrush { get { return GetBrush(WorkflowDesignerColors.DesignerViewExpandAllCollapseAllButtonColorKey); } } public static Brush DesignerViewExpandAllCollapseAllButtonMouseOverBrush { get { return GetBrush(WorkflowDesignerColors.DesignerViewExpandAllCollapseAllButtonMouseOverColorKey); } } public static Brush DesignerViewExpandAllCollapseAllPressedBrush { get { return GetBrush(WorkflowDesignerColors.DesignerViewExpandAllCollapseAllPressedColorKey); } } public static Color ContextMenuBackgroundGradientBeginColor { get { return GetColor(WorkflowDesignerColors.ContextMenuBackgroundGradientBeginColorKey); } } public static Color ContextMenuBackgroundGradientEndColor { get { return GetColor(WorkflowDesignerColors.ContextMenuBackgroundGradientEndColorKey); } } public static Color ContextMenuBorderColor { get { return GetColor(WorkflowDesignerColors.ContextMenuBorderColorKey); } } public static Color ContextMenuIconAreaColor { get { return GetColor(WorkflowDesignerColors.ContextMenuIconAreaColorKey); } } public static Color ContextMenuMouseOverBeginColor { get { return GetColor(WorkflowDesignerColors.ContextMenuMouseOverBeginColorKey); } } public static Color ContextMenuMouseOverMiddle1Color { get { return GetColor(WorkflowDesignerColors.ContextMenuMouseOverMiddle1ColorKey); } } public static Color ContextMenuMouseOverMiddle2Color { get { return GetColor(WorkflowDesignerColors.ContextMenuMouseOverMiddle2ColorKey); } } public static Color ContextMenuMouseOverEndColor { get { return GetColor(WorkflowDesignerColors.ContextMenuMouseOverEndColorKey); } } public static Color ContextMenuMouseOverBorderColor { get { return GetColor(WorkflowDesignerColors.ContextMenuMouseOverBorderColorKey); } } public static Color ContextMenuItemTextColor { get { return GetColor(WorkflowDesignerColors.ContextMenuItemTextColorKey); } } public static Color ContextMenuItemTextHoverColor { get { return GetColor(WorkflowDesignerColors.ContextMenuItemTextHoverColorKey); } } public static Color ContextMenuItemTextSelectedColor { get { return GetColor(WorkflowDesignerColors.ContextMenuItemTextSelectedColorKey); } } public static Color ContextMenuItemTextDisabledColor { get { return GetColor(WorkflowDesignerColors.ContextMenuItemTextDisabledColorKey); } } public static Color ContextMenuSeparatorColor { get { return GetColor(WorkflowDesignerColors.ContextMenuSeparatorColorKey); } } public static Brush FlowchartExpressionButtonBrush { get { return GetBrush(WorkflowDesignerColors.FlowchartExpressionButtonColorKey); } } public static Brush FlowchartExpressionButtonMouseOverBrush { get { return GetBrush(WorkflowDesignerColors.FlowchartExpressionButtonMouseOverColorKey); } } public static Brush FlowchartExpressionButtonPressedBrush { get { return GetBrush(WorkflowDesignerColors.FlowchartExpressionButtonPressedColorKey); } } public static FontFamily FontFamily { get { return GetFontFamily(FontFamilyKey); } } public static double FontSize { get { return GetFontSize(FontSizeKey); } } public static FontWeight FontWeight { get { return GetFontWeight(FontWeightKey); } } static Brush GetBrush(string colorKey) { SolidColorBrush brush = null; if (IsHighContrastEnabled) { brush = (SolidColorBrush)WorkflowDesignerColors.HighContrastColors[colorKey]; } else if (WorkflowDesignerColors.ColorServiceColors.Contains(colorKey)) { brush = (SolidColorBrush)WorkflowDesignerColors.ColorServiceColors[colorKey]; } else { brush = (SolidColorBrush)WorkflowDesignerColors.DefaultColors[colorKey]; } if (brush.CanFreeze) { brush.Freeze(); } return brush; } static Color GetColor(string colorKey) { SolidColorBrush brush = (SolidColorBrush)GetBrush(colorKey); return brush.Color; } static Color GetColor(string colorKey, byte alpha) { Color color = GetColor(colorKey); color.A = alpha; return color; } static FontFamily GetFontFamily(string key) { if (IsHighContrastEnabled) { return SystemFonts.MessageFontFamily; } return WorkflowDesignerColors.FontResources.Contains(key) ? (FontFamily)WorkflowDesignerColors.FontResources[key] : SystemFonts.MessageFontFamily; } static double GetFontSize(string key) { if (IsHighContrastEnabled) { return SystemFonts.MessageFontSize; } return WorkflowDesignerColors.FontResources.Contains(key) ? (double)WorkflowDesignerColors.FontResources[key] : SystemFonts.MessageFontSize; } static FontWeight GetFontWeight(string key) { if (IsHighContrastEnabled) { return SystemFonts.MessageFontWeight; } return WorkflowDesignerColors.FontResources.Contains(key) ? (FontWeight)WorkflowDesignerColors.FontResources[key] : SystemFonts.MessageFontWeight; } static string CreateKey(string name) { //return AdornerResources.CreateResourceKey(typeof(PropertyInspectorMergedResources), name); return name; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ContourSegment.cs
- ECDiffieHellman.cs
- TextServicesDisplayAttributePropertyRanges.cs
- TextParaClient.cs
- BufferedReadStream.cs
- TdsParserStaticMethods.cs
- MarkupExtensionParser.cs
- GraphicsContainer.cs
- ContentFilePart.cs
- MarshalByValueComponent.cs
- CodeExpressionStatement.cs
- COAUTHINFO.cs
- DynamicDataResources.Designer.cs
- XmlEventCache.cs
- ProvidersHelper.cs
- SolidColorBrush.cs
- ParamArrayAttribute.cs
- Int32Animation.cs
- GlobalizationAssembly.cs
- TreeViewImageKeyConverter.cs
- LayoutSettings.cs
- ObjectDesignerDataSourceView.cs
- WebAdminConfigurationHelper.cs
- CharUnicodeInfo.cs
- PasswordPropertyTextAttribute.cs
- Base64Decoder.cs
- CalendarDateChangedEventArgs.cs
- DependsOnAttribute.cs
- MetadataPropertyAttribute.cs
- AutomationElementIdentifiers.cs
- ImagingCache.cs
- SqlProviderServices.cs
- ListViewUpdateEventArgs.cs
- ICspAsymmetricAlgorithm.cs
- Evidence.cs
- WindowsServiceCredential.cs
- GetResponse.cs
- _Events.cs
- _DynamicWinsockMethods.cs
- RtfToXamlLexer.cs
- TaskbarItemInfo.cs
- SourceFilter.cs
- ActionFrame.cs
- ZoomingMessageFilter.cs
- Point3DKeyFrameCollection.cs
- StrokeCollectionConverter.cs
- CodeParameterDeclarationExpression.cs
- ShaderEffect.cs
- GridViewRowEventArgs.cs
- BinaryUtilClasses.cs
- LocatorPart.cs
- SymbolDocumentInfo.cs
- EncryptedReference.cs
- ObjectDataProvider.cs
- ImageDrawing.cs
- OpenFileDialog.cs
- ResourceDisplayNameAttribute.cs
- WebBrowserNavigatedEventHandler.cs
- WebPartTracker.cs
- MatchingStyle.cs
- EventDescriptor.cs
- GridViewRowPresenterBase.cs
- WCFServiceClientProxyGenerator.cs
- DataGridViewRowsRemovedEventArgs.cs
- X509Chain.cs
- GeometryGroup.cs
- FrameworkElementFactory.cs
- IndexExpression.cs
- DataGridDesigner.cs
- OleDbReferenceCollection.cs
- FontUnit.cs
- SQLBoolean.cs
- LineGeometry.cs
- AuthorizationSection.cs
- XPathAncestorQuery.cs
- BmpBitmapEncoder.cs
- Nodes.cs
- Marshal.cs
- ObjectDataSourceStatusEventArgs.cs
- ActivationArguments.cs
- DataStreams.cs
- DataServiceClientException.cs
- DesignerActionList.cs
- EnvironmentPermission.cs
- Schema.cs
- ReflectionHelper.cs
- ComplusEndpointConfigContainer.cs
- CodeTypeDelegate.cs
- ToolboxComponentsCreatedEventArgs.cs
- AvTraceDetails.cs
- NumberFormatInfo.cs
- OrderToken.cs
- MetaColumn.cs
- GroupDescription.cs
- SettingsProperty.cs
- FontCacheLogic.cs
- ClientSideQueueItem.cs
- GroupLabel.cs
- ReadOnlyAttribute.cs
- DateTimeParse.cs