Converting to v20.1
The 20.1 version made major updates and improvements to themes and types defined in the Shared Library. The goal of this version was to modernize our UI control features/themes, and to make theme customization much easier.
The 'Complete Update Details' section in this topic gives information on the breaking API changes made, such as renamed/removed types/members. The sections before it walk through some selected larger breaking changes in detail.
Theme Name Changes
The old ThemeName enumeration that had all our predefined themes has been marked obsolete and a new static ThemeNames class with constant theme names has been added in its place. The use of string constants is better than prior use of an enumeration, since a ToString call on the values is no longer necessary.
As part of this change, we updated a number of built-in theme names for clarity per the list below:
Generic- Removed since the Microsoft operating systems that had non-Metro themes are now all end-of-life. Going forward, theMetroLighttheme is the default for all operating systems.Classic- Removed since Windows 10 no longer supports a Classic theme.MetroLightBlue- Renamed toOfficeColorfulBlue.MetroLightCyan- Renamed toOfficeColorfulTeal.MetroLightGreen- Renamed toOfficeColorfulGreen.MetroLightOrange- Renamed toOfficeColorfulOrange.MetroLightPurple- Renamed toOfficeColorfulPurple.MetroLightRed- Renamed toOfficeColorfulRed.MetroLightRoyal- Renamed toOfficeColorfulIndigo.MetroWhiteBlue- Renamed toOfficeWhiteBlue.MetroWhiteCyan- Renamed toOfficeWhiteTeal.MetroWhiteGreen- Renamed toOfficeWhiteGreen.MetroWhiteOrange- Renamed toOfficeWhiteOrange.MetroWhitePurple- Renamed toOfficeWhitePurple.MetroWhiteRed- Renamed toOfficeWhiteRed.MetroWhiteRoyal- Renamed toOfficeWhiteIndigo.OfficeBlack- Renamed the optional old Aero-style Office 2010 black theme toOffice2010Blackso as not to be confused with modern Office themes. See the "Aero and Office 2010 Theme Updates" section below for notes on using this theme.OfficeBlue- Renamed the optional old Aero-style Office 2010 blue theme toOffice2010Blueso as not to be confused with modern Office themes. See the "Aero and Office 2010 Theme Updates" section below for notes on using this theme.OfficeSilver- Renamed the optional old Aero-style Office 2010 silver theme toOffice2010Silverso as not to be confused with modern Office themes. See the "Aero and Office 2010 Theme Updates" section below for notes on using this theme.
Other new predefined theme names were added to the ThemeNames enumeration as well.
ThemeManager Enhancements and Theme Definitions
A primary focus for this version has been making a new theme generation system that dynamically generates a complete theme based on theme definition options. In the past, a theme was implemented with hundreds of predefined asset resources (brushes, thicknesses, etc.) in a resource dictionary. With the new system, resource dictionaries are still used, but their contents are dynamically generated at run-time. Theme definitions (described in the Architecture topic) have many options that determine what is generated. For instance, colors can be adjusted to match company branding, checkboxes can be set to use accented appearances, and so on. Theme definitions can be edited and visualized with the new Theme Designer application described below.
Note that the tinting feature for themes is no longer available in the newer system since it only worked properly on the old predefined theme resource dictionaries. That being said, if you use the optional Aero-style themes, they still use predefined theme resource dictionaries and can be tinted.
ThemeManager now has a property that uses various API calls to determine which application mode (light, dark, or high-contrast) is requested by the system. An event is raised when this system preference changes (such as the system enters a high-contrast theme). The theme manager can also be configured to automatically switch application themes based on which application mode is selected by the end user. See the Getting Started topic for more information.
ThemeManager added a couple helper properties that can return whether animation should be supported on the current system, and if hardware-accelerated graphics are available.
Theme Designer Application
Actipro's WPF Theme Designer application makes it easy to fully configure a theme definition. There are settings for everything from colors and grayscale saturation amounts to corner radii and where accent colors are used. With every theme definition setting change, the application theme is immediately visualized so that you can see the exact outcome of the theme definition configuration. The Theme Designer even generates the code necessary to paste into your application OnStartup to replicate the theme definition.
See the Theme Designer Application topic for more information on the application.
WindowChrome Enhancements
The WindowChrome class, which renders a custom chrome for a Window, received many enhancements, the usage of which are described in the WindowChrome topic.
Windows can now render different title bar text than what is displayed in the Windows taskbar. Title bar text can be hidden, or even completely replaced with custom header UI.
Custom UI can optionally be injected on both the left and ride side of the title bar. Left-side custom UI appears next to the window title bar icon. Right-side custom UI appears next to the window system title bar buttons (minimize, maximize, close). All custom UI areas support MVVM concepts if desired, since object-based content and DataTemplate-based properties are provided for each.
Numerous options are available for controlling the layout of all title bar elements. The minimum title bar height can be set. The final arranged title bar height, and widths of the left/right content areas can be retrieved, which allows other elements in the window UI to position themselves in alignment if desired.
Normally the title bar renders completely separately from the window's content area. A property has been added that optionally supports merging the title bar and content areas in various ways. One option extends the Window.Background brush to fill the title bar background. Another option keeps the Window.Background over the normal content area, but moves the Window.Content to arrange in the title bar as well. There is a final option that moves both the Window.Background and Window.Content to render in the title bar.
The window's system menu, the one displayed when clicking the title bar icon or right-clicking the title bar, has been updated to show a themeable WPF-based menu instead of the typical Win32-based menu. The new menu is fully customizable via an event, allowing you to easily inject custom menu options.
WindowChrome now has support for animated overlays containing temporary custom content that is positioned over the entire window, such as for a home screen, an Office-like Backstage, or a processing indicator.
An alternate title bar style can be displayed for themes with a title bar background that is based on an accent color. The alternate style will render the title bar more like a traditional title bar. This is commonly seen when opening an Office-like Backstage overlay.
The style used for the custom window chrome has been simplified so that there is no separate template for Aero glass (due to glass support being removed) or for Classic/HighContrast themes. Now there is a single template used for all chromed windows. Similar changes were made to RibbonWindow.
See the WindowChrome topic and many new WindowChrome-related samples for details on all the new features.
DynamicImage and ImageProvider
One of the best enhancements in this version is to the DynamicImage control and the new ImageProvider class that it uses to manipulate images for various scenarios.
Features include:
- Chromatic adaptation (color shifting) for images, which allows images designed for light themes to be automatically adjusted for use in dark themes.
- Converting a monochrome vector image to render in the current foreground color.
- Dynamic loading of pre-defined high-DPI and/or theme-specific image variations for raster images.
- Conversion of images to grayscale.
- Conversion of images to monochrome, in a specified color.
Some of these capabilities are extremely important when supporting various themes.
The ImageConverter value converter has been improved with optional Width, Height, and ImageProvider properties that are passed along to the DynamicImage instances that are created.
Glyphs
New shared glyph resources have been added and control templates throughout the Actipro libraries have been updated to make use of the glyphs for consistency. Modern themes now use chevron-style arrow glyphs.
Native Control Themes
Menus and Popups
A new TitleBarMenu control was added, which is a Menu control that is tailored for usage in window title bars. It updates its top-level menu items to render properly in title bars, and wraps menu items to new lines in overflow scenarios so that they all remain accessible.
Styles for native menu items have been improved by increasing their size, adjusting element alignment, and rendering input gesture text in a lower-contrast color. Theme definition options are available for menu corner radius and padding, along with menu item column widths and padding.
A theme definition option is available for popup shadow direction.
A new reusable style was added for MenuItem that gives the menu item an Office-like menu heading appearance.
ScrollBars
The ScrollBar template was updated and new theme resources added to support thumb brush, thickness, and corner radius customization. These new theme resources allow you to create thin-looking thumbs and/or rounded ends.
A new ScrollThemeProperties.HasButtons attached property was added that can be set on ScrollViewer or ScrollBar instances to determine if they have buttons, or only a thumb. A new theme resource provides the default for this setting.
Checks and Radio Buttons
CheckBox and RadioButton bullets have been updated to scale based on the control's font size. When using a large font size, the bullet will automatically scale up in proportion.
Theme definition options are available for bullet glyph kind (normal, inverted, accent), bullet relative size, border width, and CheckBox corner radius. Bullet relative size determines the relative size of the bullet compared to the control's font size. For instance, a large bullet size will render the bullet at nearly double the height of the control's font size. A border width of 2 can look best when using a large bullet relative size.
Check glyphs in CheckBox and Menu controls have been modernized.
The CheckBox and RadioButton templates have been updated to center the bullet and content vertically by default, which is the most common usage scenario. Set the VerticalContentAlignment property to Top to use a top-aligned bullet, and adjust the Padding property as needed.
Other Controls
Various Button, ToolBar, Expander, Slider, and other related control templates were updated to have a more modern appearance.
PopupButton (Shared Library)
The Shared Library's PopupButton was one of our oldest controls and we took time to modernize it for this version.
The control's popup used to be built completely via code and didn't have a default border/background. In this version, we updated the control template to include the Popup right in the template, and with a default border/background defined. New PopupBackground, PopupBorderBrush, PopupBorderThickness, PopupCornerRadius, and PopupPadding properties were added to support this.
If you customized the control's template, you must now include a Popup with name PART_Popup. Only bind the Popup.IsOpen property to IsPopupOpen when the PopupMenu property is null.
If the PopupMenu property is specified, it will now take priority over popup content supplied via PopupContent, PopupContentTemplate, and PopupContentTemplateSelector.
The DisplayMode property default was changed from Split to Merged, which is a far more common use of the control. A new CenterMerged option was added to the PopupButtonDisplayMode enumeration that renders similar to Merged but centers the content and indicator instead of the indicator being on the right side. The ButtonOnly option now will show a popup/menu like other modes and renders like Merged other than not showing a popup indicator.
The IsAutoFocusOnOpenEnabled property default was changed to true, which is the most common usage.
The IsPreviewMouseDownHandled property was removed since it wasn't used. The IsRounded property was removed, and can be replaced by setting the attached themes:ThemeProperties.CornerRadius property to 0 to mimic a false setting. The static ClosePopup property was renamed to ClosePopupCommand for clarity.
Grids
The PropertyGrid control gained some big updates related to the explicit specification of properties to display. Now when a PropertyModel is specified in the PropertyGrid.Properties collection, its CanAutoConfigure property is set to true, and its Value property is bound to a target property, the TypeDescriptorFactory will automatically fill in most of the PropertyModel properties for you. In summary, these updates make it very simple to mock up an explicit list of properties to display in a property grid with full editing features, even when those properties come from various locations.
The PropertyModel class has be updated to inherit FrameworkElement instead of DepedencyObject. This change works around issues in core WPF where XAML data binding wouldn't work ("Cannot find governing FrameworkElement..." error) without use of proxy objects. None of the visual/input-related properties from FrameworkElement are used in any way.
The IPropertyModel.StandardValuesSelectedValuePath property was added so that property editors that use a ComboBox to display a limited list of standard values can set the ComboBox.SelectedValuePath property.
The PropertyGrid.ImmediateStringValueTemplate property and the related DefaultValueTemplateKind.ImmediateString enum value was added to select it. The new DataTemplate is the same as the DefaultStringValueTemplate but uses a binding that updates immediately as text is typed instead of only on focus loss.
Ribbon
Massive updates were made to the Ribbon and its related controls to modernize it and match the latest Office version's appearance. There are new glyphs, subtle animations, better balance of whitespace, better shadows, and much more.
Several Aero glass-related properties on RibbonWindow and Ribbon were removed as part of the Shared Library's WindowChrome changes.
Fonts
'Segoe UI' is no longer set on the Ribbon and its controls as the default font. A default font size, which previously tended to be smaller than the default font size, is no longer set either. This helps remove font appearance inconsistency between the Ribbon and other portions of an application.
RibbonWindow
RibbonWindow was updated to not use a custom style, and now uses the default WindowChrome style. This change allows RibbonWindow to render the same as other windows in your application that use WindowChrome, and to make use of new WindowChome features.
RibbonWindow used to have a special property for display of a StatusBar along its bottom edge. Since a custom RibbonWindow style is no longer used, this feature has been removed. To work around this change, simply include the StatusBar at the bottom of your window's content.
Application Button
The application button appearance has been updated to always render like Ribbon tabs.
The Ribbon previously had a UseScenicLayout property that when set to false, would enable an old Office 2007-style orb application button. We no longer support Office 2007 styles and thus have removed this option in favor of the more modern application button style.
Backstage
In modern themes, the Backstage has been updated to use new animated WindowChrome overlay features when it is used via a Ribbon in a RibbonWindow.
The Backstage close button's appearance has been modernized.
Buttons
All buttons (Button, PopupButton, SplitButton, etc.) have had their appearances in various contexts modernized. This includes updating buttons in menu item contexts to seamlessly match the appearance of Actipro's improved native WPF menu item appearances. Buttons displayed as tab panel items (i.e., next to the Ribbon tabs) have a new appearance to match Office.
Contextual Tab Group
In making changes to match the latest Office themes, contextual tab groups no longer render any UI (such as a group background and label) in the Window title bar.
Gallery
The category heading, filter button, popup gallery separator, and popup gallery resize grip appearances have been modernized. Color picker items have increased in size for easier touch accessibility. In-ribbon scroll animation was made faster.
Group
Whitespace improvements were made and collapsed group appearances were modernized. An improved dialog launcher glyph was created.
QuickAccessToolBar
Adjusted and modernized the QuickAccessToolBar appearance.
RecentDocumentMenu
Improved the glyph used to indicate pinned items.
Screen Tip
Adjusted whitespace for content.
Separator
Adjusted separator appearances for various contexts, and added a new Large variant for the MenuItem context that renders a line and heading label.
Tab
Updated the appearance to match Office, and added an animated underline for the selected tab. Selecting a tab now animates the tab's content into view.
ToggleMinimizationButton
Updated the glyph and added directly into the Ribbon to automatically show when Ribbon.IsMinimizable is true. If an instance of this button was previously placed in the Ribbon.TabPanelItems, it can be removed now that it's built into Ribbon.
Docking/MDI
The new ShadowChrome class was placed in certain Docking/MDI templates in place of the older DropShadowChrome. Certain properties changed as a result.
- StandardSwitcher's
DropShadowZOffsetproperty was removed. A newShadowElevationproperty was added. - WindowControl's
DropShadowColorandDropShadowZOffsetproperties were removed. A newShadowElevationproperty was added.
Views
The new MultiColumnPanel control can arrange child elements in columns based on available width.
Font Size Theme Resources
When using Actipro themes in your app, font sizes are now configurable. A theme definition option allows the base font size for the application to be set. This font size is applied via Actipro theme styles to top-level containers like Window, ToolTip, etc.
The base font size becomes the "medium" font size for the various font size theme resources that are available. Numerous font sizes smaller and larger than the "medium" font size are also available via theme resources. By using these theme resources instead of fixed font size numbers in your application, you can ensure font size consistency and can also easily adjust all font sizes throughout your application via a simple theme definition property change.
Aero Glass Support Removed
Windows 7 was the last Windows version to support Aero glass. Windows 7 is now end-of-life and no longer supported by Microsoft, so we have removed all glass-related code from our themes and controls. This allowed us to simply our code by removing a lot of unnecessary complex internal logic for Aero glass features.
Aero and Office 2010 Theme Updates
Windows 7 and Office 2010 are both end-of-life and are no longer support by Microsoft. Some customers may still wish to use Aero-style themes (AeroNormalColor, OfficeBlack, OfficeBlue, and OfficeSilver) in their applications so we are keeping these available as options.
We've moved the four Aero-style themes to a new ActiproSoftware.Themes.Aero.Wpf.dll assembly to reduce the size of the Shared assembly. The four themes can now only be used if this optional Aero assembly is referenced by your application, and you perform this register call in your application startup logic:
ThemesAeroThemeCatalogRegistrar.Register();
The Office 2010 themes used to require a similar register call via ThemesOfficeThemeCatalogRegistrar, but that class was renamed to ThemesAeroThemeCatalogRegistrar.
Again, the AeroNormalColor theme will no longer work unless the optional Aero assembly is referenced and the Register call is made in app startup.
Tinting
The older style of predefined asset resources in a resource dictionary supported a tinting mechanism as a way of altering colors if you didn't like the defaults. While the Aero-style themes support this mechanism since they are still implemented with the older predefined resource dictionary design, generated themes created with theme definitions do not support tinting. The reason is that generated themes allow you to customize the grayscale palette using various theme definition options, so tinting isn't needed.
As such, various tint-related types (like TintedThemeCatalog, TintGroup, etc.) that now only work with the Aero-style themes have been moved into the ActiproSoftware.Themes.Aero.Wpf.dll assembly.
Windows XP Themes Removed
Windows XP has been end-of-life and no longer supported by Microsoft for several years, so the related Windows XP themes (LunaNormalColor, LunaHomestead, LunaMetallic, and RoyaleNormalColor) we provided were removed.
The ActiproSoftware.Themes.Luna.Wpf.dll assembly that contained those themes is also no longer available.
Legacy Docking/MDI Codebase Removed
The 16.1 version made some large improvements to Docking/MDI, including some API changes. We previously temporarily included the old API as an optional install for those who couldn't immediately upgrade to the newer API.
The ActiproSoftware.Docking.Legacy.Wpf.dll and ActiproSoftware.Docking.Interop.Prism.Legacy.Wpf.dll assemblies are no longer shipped in the v20.1 distribution. If you were previously using those assemblies, please upgrade to the newer Docking/MDI API that has been out since v16.1.
Visual Basic Sample Projects Removed
In consideration that a vast majority of our customers work in C# instead of Visual Basic, and that it takes a significant amount of time to keep the Visual Basic sample projects in sync with their C# equivalents, we have stopped including Visual Basic sample projects. This will allow our development to move in a more agile way.
If you work in Visual Basic and need to convert sample code from C#, please search the web for "convert c# to vb.net" and you will find many free online tools to assist.
ANTLR and Irony Add-on Sample Projects Removed
The sample projects for the optional add-ons that integrate ANTLR v3 And Irony parsers with SyntaxEditor are no longer available in the installation due to these add-ons being deprecated. Contact our support team if you have a need to download the sample projects.
Complete Update Details
The list below is the entire detailed update log, including breaking changes.
ThemeManager (Shared Library)
RegisteredThemeDefinitionsproperty, andRegisterThemeDefinition,UnregisterThemeDefinition,CreateDefaultThemeDefinition, andGetThemeDefinitionmethods added, all of which deal with theme definitions.SystemApplicationModeproperty added, which returns the system preferred theme mode (light, dark, or high-contrast). RelatedSystemApplicationModeChangedevent added.RegisterAutomaticThemesmethod added, which can automatically switch application themes to specified themes when SystemApplicationMode changes.IsAnimationSupportedproperty added, which determines if UI animation should be enabled.IsGraphicsHardwareAccelerationSupportedproperty added, which returns whether hardware-accelerated graphics are available on the system.SystemThemeproperty andSystemThemeChangedevent removed, since they are no longer useful with Windows 7 being end-of-life.The AeroNormalColor (Windows 7 style) theme was moved to a new optional ActiproSoftware.Themes.Aero.Wpf.dll assembly, and now requires a
ThemesAeroThemeCatalogRegistrar.Register()call at app startup to use.The Aero-style Office 2010 themes (OfficeBlack, OfficeBlue, and OfficeSilver) were moved from the old ActiproSoftware.Themes.Office.Wpf.dll to the new ActiproSoftware.Themes.Aero.Wpf.dll assembly. Use
ThemesAeroThemeCatalogRegistrarinstead ofThemesOfficeThemeCatalogRegistrarto register these optional themes.The LunaNormalColor, LunaHomestead, LunaMetallic, and RoyaleNormalColor themes defined in the optional ActiproSoftware.Themes.Luna.Wpf.dll are no longer available.
ThemeName (Shared Library)
- Use the new
ThemeNamesstatic class with string constant theme names in place ofThemeNamemoving forward. - The
LunaNormalColor,LunaHomestead,LunaMetallic, andRoyaleNormalColormembers were removed.
WindowChrome (Shared Library)
- Refined and improved our custom window chrome template, adding a lot of new customizable features along the way.
HasTitleBarproperty added, which hides the title bar when set tofalse.- Attached
TitleBarHeaderproperty added, which can be set on aWindowto use different title text in the title bar. Set it tonullto hide the window's title bar text. TitleBarHeaderTemplateproperty added, which can be set to replace title bar text with custom header UI.TitleBarLeftContentTemplateproperty and attachedTitleBarLeftContentproperty added, both of which can be used to inject custom UI in the left side of the window's title bar, next to the icon.TitleBarRightContentTemplateproperty and attachedTitleBarRightContentproperty added, both of which can be used to inject custom UI in the right side of the window's title bar, next to the system title bar buttons.TitleBarContentTemplateproperty renamed toTitleBarRightContentTemplate.TitleBarMinHeightattached property added, which sets the minimum height of the title bar.TitleBarHeaderMarginproperty added, which is the margin around the header.TitleBarHeaderMinWidthproperty added, which sets the header minimum width when not all title bar elements fit in the available space.TitleBarLeftContentMaxWidthOverflowPercentageandTitleBarRightContentMaxWidthOverflowPercentageproperties added, set the maximum percentage of total title bar space to use for each area when not all title bar elements fit in the available space.TitleBarMergeKindproperty added, which can be set toBackgroundOnlyto have theWindow.Backgroundbrush fill the title bar area, or set toFullto have theWindow.Contentextend to fill the title bar area.TitleBarTextAlignmentproperty renamed toTitleBarHeaderAlignmentand changed to returnHorizontalAlignment.GlassThickness,IsGlassActive, andIsGlassEnabledproperties removed since Aero glass is no longer supported.
DynamicImage and ImageProvider (Shared Library)
ImageProviderclass added that supports adapting source images for various scenarios (themes, scales, grayscale, monochrome, etc.).DynamicImagecontrol updated to call intoImageProviderto support rich functionality.DynamicImagecontrol updated to watch for theme, DPI, and foreground changes and adapt its image when appropriate.UseMonochromeproperty added to theDynamicImagecontrol to support monochrome images.ImageSourceContentConverterandImageSourceContentConversionModetypes moved to theLegacyassembly where they will be deprecated. Use the improvedDynamicImagecontrol instead.ImageSourceContentConverter.CanConvertToMonochromeattached property replaced with the newImageProvider.CanAdaptattached property.ImageSourceContentConverter.BrightnessThresholdstatic property replaced with the newImageProvider.MonochromeBrightnessThresholdproperty.
SharedResourceKeys (Shared Library)
These style updates were made:
MenuHeadingStyleKeyadded to render specialMenuItemsas text-based headings.ToolWindowTitleBarButtonBaseAlternateStyleKeyrenamed toCloseToolWindowTitleBarButtonBaseStyleKeyto clarify its purpose.WindowTitleBarButtonBaseAlternateStyleKeyrenamed toCloseWindowTitleBarButtonBaseStyleKeyto clarify its purpose.
These glyph template updates were made:
LargeLeftArrowGlyphTemplateKey(formerlyScrollLeftGlyphTemplateKey),LargeUpArrowGlyphTemplateKey,LargeRightArrowGlyphTemplateKey(formerlyScrollRightGlyphTemplateKey),LargeDownArrowGlyphTemplateKeyadded for large sized arrows.LeftArrowGlyphTemplateKey,UpArrowGlyphTemplateKey,RightArrowGlyphTemplateKey,DownArrowGlyphTemplateKeyadded for normal sized arrows.SmallLeftArrowGlyphTemplateKey,SmallUpArrowGlyphTemplateKey,SmallRightArrowGlyphTemplateKey,SmallDownArrowGlyphTemplateKeyadded for small sized arrows.ExternalWindowGlyphTemplateKeyadded for use in buttons that open an external window.MenuCheckGlyphTemplateKey,MenuIndeterminateCheckGlyphTemplateKey, andMenuPopupGlyphTemplateKeyadded for use in menu items.MinusGlyphTemplateKeyandPlusGlyphTemplateKeyadded for use in decrease/increase buttons.SmallDropDownArrowGlyphTemplateKeyadded for use in small drop-down buttons.SmallMinusGlyphTemplateKeyandSmallPlusGlyphTemplateKeyadded for use in decrease/increase buttons.ToolBarOverflowDropDownArrowGlyphTemplateKeyadded for toolbar overflow buttons.WindowTitleBarButtonBackGlyphTemplateKeyadded for a window title bar Back button.WindowTitleBarButtonMenuBarsGlyphTemplateKeyadded for a window title bar Menu button.
AssetResourceKeys (Shared Library)
This list contains changes and removals only:
Accent*BrushKeyproperties removed and replaced with more comprehensive PrimaryAccent* properties.ApplicationButton*BrushKeyproperties removed since the Ribbon application button is now themed the same as Ribbon tabs.ButtonHighlight*BrushKeyproperties removed since Luna themes are no longer supported.*BulletChromeBorderStyleKeyand*ElementChromeBorderStyleKeyproperties removed since Classic themes are no longer supported.ContainerLight*BrushKey,ContainerMedium*BrushKey, andContainerDark*BrushKeyproperties migrated to newContainerBackground*BrushKeyproperties.ContainerBorderNormalBrushKeyproperty to newContainerBorder*BrushKeyproperties.ContextualTabGroupAreEffectsEnabledBooleanKey,ContextualTabGroupUseColorsBooleanKey,ContextualTabUseColorsBooleanKeyproperties removed since they are no longer used.ControlBackgroundNormalBrushKeyproperty renamed toContainerBackgroundLowBrushKey.ControlForegroundNormalBrushKeyproperty renamed toContainerForegroundLowNormalBrushKey.ControlForegroundDisabledBrushKeyproperty renamed toContainerForegroundLowDisabledBrushKey.DockingWindowContainer*BrushKeyproperties renamed toToolWindowContainer*BrushKeyfor clarity. Use the newTabbedMdiContainerBackgroundNormalBrushKeyproperty in place ofDockingWindowContainerBackgroundNormalBrushKeyfor tabbed MDI containers only.ComboBoxUseAlternateStyleBooleanKey,DropDownGlyphAlternateBackgroundDisabledBrushKey,DropDownGlyphAlternateBackgroundNormalBrushKey,DropDownGlyphUseAlternateGeometryBooleanKeyproperties removed since Classic themes are no longer supported.DocumentTextAccent1ForegroundNormalBrushKeyandDocumentTextAccent2ForegroundNormalBrushKeyproperties renamed toDocumentHeading1ForegroundNormalBrushKeyandDocumentHeading2ForegroundNormalBrushKeyrespectively.EditRulerMarginBorderNormalBrushKey,EditSelectionBackgroundFocusedBrushKey,EditSelectionForegroundFocusedBrushKey,EditSelectionSemiTransparentBackgroundFocusedBrushKey,EditSelectionSemiTransparentBackgroundNormalBrushKey,EditSelectionSemiTransparentBorderFocusedBrushKey,EditSelectionSemiTransparentBorderNormalBrushKeyproperties removed since they are no longer used.ExpanderGlyph*BrushKeyproperties removed since they are no longer used.ListColumnHeader*BrushKeyandListRowHeader*BrushKeyproperties consolidated intoListHeader*BrushKeyproperties.ListToggleButtonExpansion*BrushKeyproperties renamed toListToggleButtonExpanderGlyph*BrushKeyproperties.ListToggleButtonExpansionBorderNormalCornerRadiusKeyandListToggleButtonExpansionBorderNormalThicknessKey,ListToggleButtonExpansionForegroundCheckedBrushKey,ListToggleButtonExpansionForegroundHoverBrushKey,ListToggleButtonExpansionForegroundNormalBrushKeyproperties removed since they are no longer used.MenuSeparatorHighlightNormalBrushKeyproperty removed due to template simplification.NavigationBarPopupButtonBackground*BrushKeyproperties removed since they are no longer used.RaftingWindowBorderActiveBrushKey,RaftingWindowBorderInactiveBrushKey, andRaftingWindowBorderNormalCornerRadiusKeyproperties removed since they are no longer used.RibbonGroupBackgroundPressedBrushKey,RibbonGroupBorderHoverBrushKey,RibbonGroupSeparatorOpacityMaskNormalBrushKeyproperties removed since they are no longer used.RibbonSeparatorBorderNormalBrushKey,RibbonSeparatorBorderNormalThicknessKey, andRibbonSeparatorOpacityMaskNormalBrushKeyproperties removed since they are no longer used.RibbonTabItemBackgroundFocusedBrushKey,RibbonTabItemBackgroundSelectedBrushKey,RibbonTabItemBorderFocusedBrushKey,RibbonTabItemBorderHoverBrushKey,RibbonTabItemForegroundSelectedBrushKey,RibbonTabItemInnerBorderFocusedBrushKey, RibbonTabItemInnerBorderHoverBrushKey properties removed since they are no longer used.RibbonToolBarTrayInnerBorderNormalBrushKeyproperty removed since it is no longer used.ScrollBarButtonGlyphUseAlternateGeometryBooleanKey,ScrollBarButtonHighlightDisabledBrushKey,ScrollBarButtonHighlightHoverBrushKey,ScrollBarButtonHighlightNormalBrushKey,ScrollBarButtonHighlightPressedBrushKey,WorkspaceScrollBarButtonHighlightDisabledBrushKey,WorkspaceScrollBarButtonHighlightHoverBrushKey,WorkspaceScrollBarButtonHighlightNormalBrushKey,WorkspaceScrollBarButtonHighlightPressedBrushKeyproperties removed since Luna themes are no longer supported.SeparatorHighlightNormalBrushKeyproperty removed due to template simplification.SliderBackgroundNormalBrushKey,SliderThumbHorizontalHighlightDisabledBrushKey,SliderThumbHorizontalHighlightFocusedBrushKey,SliderThumbHorizontalHighlightHoverBrushKey,SliderThumbHorizontalHighlightNormalBrushKey,SliderThumbHorizontalHighlightPressedBrushKey,SliderThumbVerticalHighlightDisabledBrushKey,SliderThumbVerticalHighlightFocusedBrushKey,SliderThumbVerticalHighlightHoverBrushKey,SliderThumbVerticalHighlightNormalBrushKey,SliderThumbVerticalHighlightPressedBrushKeyproperties removed due to template simplification.StatusBarSeparatorOpacityMaskNormalBrushKeyproperty removed since it is no longer used.TabControlHighlightNormalBrushKey,TabItemHighlightDisabledBrushKey,TabItemHighlightHoverBrushKey,TabItemHighlightNormalBrushKey,TabItemHighlightSelectedHoverBrushKey,TabItemHighlightSelectedNormalBrushKeyproperties removed since they are no longer used.TabbedMdiContainerTabControlBackgroundActiveNormalBrushKey,TabbedMdiContainerTabItemBackgroundActiveSelectedBrushKey,TabbedMdiContainerTabItemBorderActiveSelectedBrushKey,TabbedMdiContainerTabItemForegroundActiveSelectedBrushKey,TabbedMdiContainerTabItemGlyphBackgroundActiveFocusedBrushKey,TabbedMdiContainerTabItemGlyphBackgroundActiveSelectedBrushKey,TabbedMdiContainerTabItemGlyphBackgroundHoverBrushKey,TabbedMdiContainerTabItemGlyphBackgroundInactiveSelectedBrushKey,ToolWindowContainerTabControlForegroundNormalBrushKeyproperties removed due to template simplification.TabItemBackgroundSelectedHoverBrushKeyandTabItemBorderSelectedHoverBrushKeyproperties removed since they are no longer used.ThumbBorder*BrushKeyproperties consolidated into a singleThumbBorderNormalBrushKeyproperty.ToolBarGripperHighlightNormalBrushKeyproperty removed since it is no longer used.WindowGlassExtensionBackgroundActiveBrushKeyandWindowIsGlassEnabledBooleanKeyproperties removed since Aero glass is no longer supported.WindowNonGlassExtensionBackgroundActiveBrushKeyandWindowNonGlassExtensionBackgroundInactiveBrushKeyproperties renamed toWindowTitleBarExtensionBackgroundActiveBrushKeyandWindowTitleBarExtensionBackgroundInactiveBrushKeyrespectively.WindowTitleBarInnerBorderActiveBrushKeyandWindowTitleBarInnerBorderInactiveBrushKeyproperties removed since they are no longer used.WindowTitleBarButtonHighlight*BrushKeyandWindowTitleBarButtonInnerBorder*BrushKeyproperties removed since they are no longer used.WindowTitleBarButtonAlternate*BrushKeyproperties renamed toCloseWindowTitleBarButton*BrushKeyto better clarify their purpose.WindowTitleBarButtonAlternate*InactiveDisabledBrushKeyandWindowTitleBarButtonAlternate*InactiveNormalBrushKeyproperties removed since they were always set to the same values as the non-"Alternate" equivalents.WindowTitleBarButtonAlternateMarginNormalThicknessKeyproperty renamed toWindowTitleBarButtonMarginNormalThicknessKey.WindowTitleBarForegroundShadowActiveBrushKeyproperty removed since Luna themes are no longer supported.WindowTitleBarQuickAccessToolBarAlignTopBooleanKeyandWindowTitleBarUseSystemFontBooleanKeyproperties removed since they are no longer used.WindowTitleBarToolBarTray*BrushKeyproperties removed since they are no longer used.WorkspaceDark*BrushKey,WorkspaceMedium*BrushKey, andWorkspaceLight*BrushKeyproperties replaced with more comprehensiveContainerBackground*BrushKeyproperties.WorkspaceVeryDarkForegroundNormalBrushKeyproperty removed andWorkspaceVeryDarkBackgroundNormalBrushKeyproperty renamed toDockHostBackgroundNormalBrushKey.
Tint-Related Types (Shared Library)
TintedResourceDictionary,TintedResourceDictionaryReference,TintedThemeCatalog,TintGroup,TintGroupCollection,TintGroupNames, andTintGroupSetstypes moved to the ActiproSoftware.Themes.Aero.Wpf.dll assembly since they now only work with the older Aero-style themes.
AnimatedExpanderDecorator (Shared Library)
ExpandDurationandCollapseDurationproperty defaults reduced from250msto150msto speed up animations by default, and easings added to animations.
GlassWindow (Shared Library)
GlassWindowclass removed since Aero glass is no longer supported.
PopupButton (Shared Library)
- A
Popupis now built into thePopupButtontemplate. PopupBackground,PopupBorderBrush,PopupBorderThickness,PopupCornerRadius, andPopupPaddingproperties added to support customization of the popup chrome.CenterMergedoption added toPopupButtonDisplayModeenumeration.ButtonOnlydisplay mode option now will show a popup/menu if one is defined. This allows thePopupButtonto show popups even when there is no popup indicator.DisplayModeproperty default changed toMerged, which is the most common usage.IsAutoFocusOnOpenEnabledproperty default changed totrue, which is the most common usage.IsPreviewMouseDownHandledproperty removed since it wasn't used.IsRoundedproperty removed. Set the attachedthemes:ThemeProperties.CornerRadiusproperty to0to mimic settingIsRoundedtofalse.- If the
PopupMenuproperty is specified, it will now take priority over popup content supplied viaPopupContent,PopupContentTemplate, andPopupContentTemplateSelector. - Static
ClosePopupproperty renamed toClosePopupCommandfor clarity.
TitleBarMenu (Shared Library)
TitleBarMenucontrol added, for use inWindowChromecustom title bars.
TransitionPresenter (Shared Library)
DefaultDurationproperty default reduced from500msto200msto speed up animations by default.
Value Converters (Shared Library)
CharacterCasingConverteradded that can be used to uppercase or lowercase a string.Width,Height, andImageProviderproperties added toImageConverterand passed onto the createdDynamicImageinstance.
WindowControl (Docking/MDI product)
IsTitleBarTextShadowEnabledproperty removed since XP themes are no longer supported.
TypeDescriptorFactory (Grids product)
- A new feature makes the explicit specification of properties via
PropertyGrid.Propertiesvery simple. Simply set aPropertyModel's newCanAutoConfigureproperty totrueand place aBindingon theValueproperty to the target property, and the data factory will do the rest. AutoConfigurePropertyModelmethod added, which is called for explicitly-definedPropertyModelinstances whoseCanAutoConfigureproperties are set totrue.GetDisplayNameFromNamemethod added that converts a property'sNameto aDisplayNamewhen executing theAutoConfigurePropertyModelmethod.
IPropertyModel (Grids product)
StandardValuesSelectedValuePathproperty added to allow setting ofComboBox.SelectedValuePathin property editors for limited standard values.
PropertyModel (Grids product)
PropertyModelnow inheritsFrameworkElementinstead ofDependencyObjectto work around core WPF issues with data binding.CanAutoConfigureproperty added that can auto-configure mostPropertyModelproperties based on aValuebinding.
PropertyGrid (Grids product)
ImmediateStringValueTemplateproperty added, which is the same asDefaultStringValueTemplate, but uses a binding that updates immediately as text is typed instead of only on focus loss.
DefaultValueTemplateKind (Grids product)
ImmediateStringvalue added that can select the newPropertyGrid.ImmediateStringValueTemplate``DataTemplate.
ContextualTabGroup (Ribbon product)
AreEffectsEnabled,MaxTitleAreaWidth,OuterGlowBrush,UseColorsproperties removed since contextual tab groups no longer render UI in the title bar.
QuickAccessToolBar (Ribbon product)
IsApplicationButtonVisible,IsItemOuterGlowEnabledproperties removed since they are no longer needed.IsBelowRibbonproperty default changed tofalse.
Ribbon (Ribbon product)
ContextualTabGroupContainerHeight,ContextualTabGroupContainerOffset, andSelectedContextualTabGroupColorproperties removed since contextual tab groups no longer render UI in the title bar.IsGlassActiveandIsGlassExtensionEnabledproperties removed since Aero glass is no longer supported.IsRibbonWindowIconVisibleproperty removed since it is no longer needed.IsTitleBarAreaVisibleproperty removed since it is no longer needed. SetQuickAccessToolBarLocationtoNoneto mimicfalsenow.- Static
SystemHasSegoeUIFontproperty removed since it is no longer needed. UseScenicLayoutproperty removed since the Office 2007 orb style of application button is no longer supported.- ApplicationButtonDefault16.png image file that used to be included in the Ribbon assembly and can be set to
Ribbon.ApplicationButtonImageSourceis now included in the Sample Browser project instead.
RibbonWindow (Ribbon product)
GlassExtensionHeight,IsGlassActive,IsGlassEnabledproperties removed since Aero glass is no longer supported.StatusBarproperty removed sinceRibbonWindowno longer uses a custom template. Put yourStatusBarat the bottom of your window's content instead.TitleBarScaleTransformproperty removed since it is no longer needed.
RibbonWindowTitleBarText (Ribbon product)
ApplicationNameBrush,DocumentNameBrush, andUsesSystemFontproperties removed since they are no longer needed.
Tab (Ribbon product)
IsTinted,TintColor,TintedSelectedInnerBorderBrush,TintedSelectedOuterBorderBrush,UseColorsproperties removed since they are no longer needed.
MultiColumnPanel (Views product)
MultiColumnPanelcontrol added that can arrange child elements in columns based on available width.
AeroWizardTitleBar (Wizard product)
AeroWizardTitleBarclass removed since it's no longer used. See notes below onAeroWizardWindowfor details.
AeroWizardWindow (Wizard product)
AeroWizardWindowclass removed since it's no longer used. It was previously based on theGlassWindowclass, which is no longer applicable with Windows 7 being end-of-life. See the Aero Wizards topic for new Window XAML that can be used instead, rendering a Back button in the window's title bar via newWindowChromefeatures.