Releases: fluentribbon/Fluent.Ribbon
Releases · fluentribbon/Fluent.Ribbon
v6.0.0
6.0.0
-
Breaking changes
- #466 - StrongName signed assembly? Hey, it's 2017...
Fluent.Ribbon is no longer a strong-named assembly. - #433 - ToggleButton not working correctly when placed in collapsed GroupBox
ToggleButton
grouping was done like it's done for a regularRadioButton
, except that it was bound to visual root scope.
The dependency on a visual root scope has been remove, so please adjust theGroupName
for groups if you have groups with the same name in different visual root scopes. DropDownButton
(and thus alsoSplitButton
) now inherit fromItemsControl
instead ofMenuBase
.
This was changed becauseMenuBase
causes a lot of issues regarding keyboard navigation, focus etc..
This also means that you should useFluent:MenuItem
instead of the system providedMenuItem
as immediate children ofDropDownButton
andSplitButton
.SplitButton
now generates twoKeyTip
elements for itself. If you previously used "S" asKeyTip
there will now be "S1" for the button action and "S2" will open the dropdown.- Changes made to
Ribbon
- Internal properties for
QuickAccessToolBar
andTabControl
got converted toDependencyProperty
- Changed order of Children returned from
LogicalChildren
- Type of metadata for
Menu
andStartScreen
changed fromPropertyMetadata
toFrameworkPropertyMetadata
- Internal properties for
- There are a lot new resources to control the colorization. Please have a look at Colors.xaml for a list of all available resources.
This also means that, for example, simply changing the foreground/background of one outer control won't change the foreground/background of all inner controls. - #457 - Return type of
IKeyTipedControl.OnKeyTipPressed
was changed fromvoid
toKeyTipPressedResult
. - The following
Color
andBrush
resources got replaced/renamed/removed:
- #466 - StrongName signed assembly? Hey, it's 2017...
Click here to show the list of replaced/renamed/removed things
Old | New |
---|---|
Fluent:MetroColors.ThemeColorKey | Fluent.Ribbon.Colors.AccentBaseColor |
ButtonDisabledBackgroundBrush | --- |
ButtonDisabledBorderBrush | --- |
SliderShadowBrush | WhiteBrush |
SliderLightenBrush | WhiteBrush |
BackstageBackgroundBrush | WhiteBrush |
BackstageControlHoverBorderBrush | Fluent.Ribbon.Brushes.Button.MouseOver.BorderBrush |
BackstageControlActiveBorderBrush | Fluent.Ribbon.Brushes.Button.Pressed.BorderBrush |
ButtonBorderBrush | Fluent.Ribbon.Brushes.Control.BorderBrush |
ButtonHoverOuterBackgroundBrush | Fluent.Ribbon.Brushes.Button.MouseOver.Background |
ButtonHoverOuterBorderBrush | Fluent.Ribbon.Brushes.Button.MouseOver.BorderBrush |
ButtonPressedOuterBackgroundBrush | Fluent.Ribbon.Brushes.Button.Pressed.Background |
ButtonPressedOuterBorderBrush | Fluent.Ribbon.Brushes.Button.Pressed.BorderBrush |
ButtonPressedInnerBorderBrush | Fluent.Ribbon.Brushes.Button.Pressed.BorderBrush |
ButtonPressedInnerBackgroundBrush | Fluent.Ribbon.Brushes.Button.Pressed.Background |
ButtonHoverInnerBackgroundBrush | --- |
ButtonHoverInnerBorderBrush | --- |
ButtonCheckedBrush | Fluent.Ribbon.Brushes.HighlightBrush & Fluent.Ribbon.Brushes.Button.MouseOver.Background |
CheckBoxHoverBackgroundBrush | Fluent.Ribbon.Brushes.Button.MouseOver.Background |
CheckBoxHoverBorderBrush | Fluent.Ribbon.Brushes.Button.MouseOver.BorderBrush |
CheckBoxPressedBackgroundBrush | Fluent.Ribbon.Brushes.Button.Pressed.Background |
CheckBoxPressedBorderBrush | Fluent.Ribbon.Brushes.Button.Pressed.BorderBrush |
CheckBoxOutterBorderBrush | --- |
CheckBoxOutterBackgroundBrush | --- |
CheckBoxInnerBorderBrush | --- |
CheckBoxInnerBackgroundBrush | --- |
CheckBoxHoverOutterBorderBrush | --- |
CheckBoxHoverOutterBackgroundBrush | --- |
CheckBoxHoverInnerBorderBrush | --- |
CheckBoxHoverInnerBackgroundBrush | --- |
CheckBoxPressedOutterBorderBrush | --- |
CheckBoxPressedOutterBackgroundBrush | --- |
CheckBoxPressedInnerBorderBrush | --- |
CheckBoxPressedInnerBackgroundBrush | --- |
ContextMenuLineBrush | --- |
ContextMenuBarBackgroundBrush | Fluent.Ribbon.Brushes.DropDown.BackgroundBrush |
ContextMenuBarBorderBrush | Fluent.Ribbon.Brushes.DropDown.BorderBrush |
ContextMenuBarResizeBorderBrush | Fluent.Ribbon.Brushes.DropDown.Resize.BorderBrush |
ContextMenuBarResizeBackgoundBrush | Fluent.Ribbon.Brushes.DropDown.Resize.BackgoundBrush |
GalleryBorderBrush | Fluent.Ribbon.Brushes.Control.BorderBrush |
InRibbonGalleryBorderBrush | Fluent.Ribbon.Brushes.Control.BorderBrush |
BackstageGalleryItemHoverBackgroundBrush | Fluent.Ribbon.Brushes.Button.MouseOver.Background |
BackstageGalleryItemSelectedBackgroundBrush | Fluent.Ribbon.Brushes.Button.Pressed.Background |
BackstageToggleButtonCheckedBorderBrush | Fluent.Ribbon.Brushes.HighlightBrush |
BackstageToggleButtonCheckedBackgroundBrush | Fluent.Ribbon.Brushes.Button.MouseOver.Background |
QuickAccessToolbarPopupBackgrondBrush | {Binding Background, RelativeSource={RelativeSource AncestorType=Window}} |
WindowContentBorderBrush | Fluent.Ribbon.Brushes.Separator.BorderBrush |
GroupBoxSeparatorBorderBrush | Fluent.Ribbon.Brushes.Separator.BorderBrush |
GroupBoxSeparatorBackgroundBrush | Fluent.Ribbon.Brushes.Separator.Background |
ContextMenuSeparatorBrush | Fluent.Ribbon.Brushes.Separator.BorderBrush |
KeyTipBackgroundBrush | Fluent.Ribbon.Brushes.KeyTip.Background |
KeyTipBorderBrush | Fluent.Ribbon.Brushes.KeyTip.BorderBrush |
GalleryHeaderBackgroundBrush | Fluent.Ribbon.Brushes.Gallery.Header.Background |
TextBoxBorderBrush | Fluent.Ribbon.Brushes.TextBox.BorderBrush |
TextBoxBackgroundBrush | Fluent.Ribbon.Brushes.TextBox.Background |
TextBoxHoverBackgroundBrush | Fluent.Ribbon.Brushes.TextBox.MouseOver.Background |
TextBoxHoverBorderBrush | Fluent.Ribbon.Brushes.TextBox.MouseOver.BorderBrush |
TextBoxDisabledBackgroundBrush | Fluent.Ribbon.Brushes.TextBox.Disabled.Background |
TextBoxDisabledBorderBrush | Fluent.Ribbon.Brushes.TextBox.Disabled.BorderBrush |
RibbonSeparatorBrush | Fluent.Ribbon.Brushes.GroupSeparator.Background |
GroupSeparatorBrush | Fluent.Ribbon.Brushes.GroupSeparator.Background |
CloseButtonHoverBackgroundBrush | Fluent.Ribbon.Brushes.WindowCommands.CloseButton.MouseOver.Background |
CloseButtonPressedBackgroundBrush | Fluent.Ribbon.Brushes.WindowCommands.CloseButton.Pressed.Background |
MenuItemBackground | Fluent.Ribbon.Brushes.MenuItem.Background |
MenuItemCheckBoxBackgroundBrush | Fluent.Ribbon.Brushes.ApplicationMenuItem.CheckBox.Background |
MenuItemCheckBoxBorderBrush | Fluent.Ribbon.Brushes.ApplicationMenuItem.CheckBox.BorderBrush |
RibbonThemeColorBrush | Fluent.Ribbon.Brushes.AccentBaseColorBrush |
TransparentBrush | --- |
BackstageFontBrush | Fluent.Ribbon.Brushes.IdealForegroundColorBrush |
TabItemFontBrush | Fluent.Ribbon.Brushes.LabelTextBrush |
Fluent.Ribbon.Brushes.LabelTextBrush | Fluent.Ribbon.Brushes.LabelTextBrush |
GroupHoverBrush | Fluent.Ribbon.Brushes.RibbonGroupBox.Collapsed.MouseOver.Background GroupHoverBrush |
GroupHighlightBrush | Fluent.Ribbon.Brushes.RibbonGroupBox.DropDownOpen.Background |
GroupBoxFontBrush | Fluent.Ribbon.Brushes.RibbonGroupBox.Header.Foreground |
ActiveTabBackgroundBrush | Fluent.Ribbon.Brushes.RibbonTabItem.Active.Background |
TabItemSelectedFontBrush | Fluent.Ribbon.Brushes.RibbonTabItem.Selected.Foreground |
RibbonBackgoundBrush | Fluent.Ribbon.Brushes.Ribbon.Background |
RibbonTopBorderBrush | Fluent.Ribbon.Brushes.RibbonTabItem.BorderBrush & Fluent.Ribbon.Brushes.ColorGallery.Item.BorderBrush |
ScrollButtonDefaultBorderBrush | Fluent.Ribbon.Brushes.ScrollButton.Default.BorderBrush |
ScrollButtonDefaultBackgroundBrush | Fluent.Ribbon.Brushes.ScrollButton.Default.Background |
ScrollButtonHoverBorderBrush | Fluent.Ribbon.Brushes.Button.MouseOver.BorderBrush |
ScrollButtonHoverBackgroundBrush | Fluent.Ribbon.Brushes.Button.MouseOver.Background |
ScrollButtonPressedBorderBrush | Fluent.Ribbon.Brushes.Button.Pressed.BorderBrush |
ScrollButtonPressedBackgroundBrush | Fluent.Ribbon.Brushes.Button.Pressed.Background |
ScrollBackgroundBrush | Fluent.Ribbon.Brushes.ScrollBar.Background |
ScrollVerticalBackgroundBrush | Fluent.Ribbon.Brushes.ScrollBar.Background |
ScrollThumbDefaultBorderBrush | Fluent.Ribbon.Brushes.ScrollThumb.Default.BorderBrush |
ScrollThumbDefaultBackgroundBrush | Fluent.Ribbon.Brushes.ScrollThumb.Default.Background |
ScrollThumbHoverBorderBrush | Fluent.Ribbon.Brushes.Button.MouseOver.BorderBrush |
ScrollThumbHoverBackgroundBrush | Fluent.Ribbon.Brushes.Button.MouseOver.Background |
ScrollThumbPressedBorderBrush | Fluent.Ribbon.Brushes.Button.Pressed.BorderBrush |
ScrollThumbPressedBackgroundBrush | Fluent.Ribbon.Brushes.Button.Pressed.Background |
ScrollViewerButtonBorderBrush | Fluent.Ribbon.Brushes.ScrollViewer.Button.BorderBrush |
ScrollViewerButtonBackgroundBrush | Fluent.Ribbon.Brushes.ScrollViewer.Button.BackgroundBrush |
- The following default values changed:
Name/Location | Old | New |
---|---|---|
Button.BorderThickness | 0 | 1 |
ContentGapHeight | 5 | 1 |
- The following styles got removed/renamed:
Old | New |
---|---|
NonEditableComboBoxItemStyle | is now the default style |
EditableComboBoxItemStyle | --- |
v5.0.2
v5.0.1
v5.0.0
5.0.0
-
Breaking changes
- Office 2010 and Windows 8 themes got removed.
Office 2013 theme was moved from "Themes/Office2013/Generic.xaml" to "Themes/Generic.xaml".
This was a community voted decision. ComboBox
now uses the defaultItemsPanelTemplate
instead ofVirtualizingStackPanel
again.
If you prefer to useVirtualizingStackPanel
you can change this on a per instance level or add it to your defaultStyle
.- #301 - Remove Office 2010 and Windows 8 themes
- #302 - Rename Office 2013 theme to Generic
- #309 - Remove grouping from ComboBox and make GalleryPanel inherit from StackPanel
- #310 - Refactoring of localization
- #349 - Move
RibbonTitleBar
fromRibbon
toRibbonWindow
RibbonWindow
exposesTitleBar
which is of typeRibbonTitleBar
.
Ribbon
uses theTitleBar
provided by theRibbonWindow
by default, through it'sStyle
.
This allows changing theTitleBar
being used by theRibbon
.
- Removed
RibbonProperties.TitleBarHeight
to simplify usage of theRibbon
in nonRibbonWindow
.
To support this the following things were added:SelectedContentMargin
was added toBackstageTabControl
QuickAccessToolBarHeight
onRibbon
TitleBarHeight
onRibbonWindow
- #400 - Default menu / menuitem appearance overridden by FluentRibbon
- Styles for the following types are no longer overwritten globally
ContextMenu
,MenuItem
,MenuItem.SeparatorStyleKey
,StatusBar
,StatusBarItem
,StatusBar.SeparatorStyleKey
MenuItemStyle
is renamed toFluentDefaultSystemMenuItemStyle
- Styles for the following types are no longer overwritten globally
- Office 2010 and Windows 8 themes got removed.
-
Bug fixes
- #288 - Fluent:DropDownButton Background can't be changed
- #300 - Startscreen not working in 4.0.3
- #305 - Combobox items will be drawn above each other on scroll down
- #311 - State loading too verbose
- #315 - Menu button gets blurry
- #325 - Running RibbonWindow not on the main thread.
- #329 - ArgumentOutOfRangeException when adding StatusBarItem
- #333 - NullReference Exception app.Run
- #339 - SelectedTabChanged fired when selection of contained Selector changes
- #341 - Fix text going under custom window commands (thanks @chrfin)
- #342 - Fixed dependency property name of property Groups in GalleryGroupFilter. (thanks @polepage)
- #346 - RibbonWindow icon is blurry (thanks @chdft)
- #365 - BackstageAdorner is not removed
- #368 - Render Glitch when Maximizing RibbonWindow with SizeToContent Enabled
- #369 - "Restore" button in title bar not displayed correctly when application starts maximized
- #377 - ToggleButton highlight doesn't match the button size
- #388 - QuickAccess item not visible when added from backstage
- #391 - QAT items not displayed properly if tab is made visible after initialization
- #392 - Change Window Title doesn't update Title length
- #397 - Backstage Opening Animation
- #398 - ColorGallery: SelectedColorChanged event raised before SelectedColor changed
- #403 - Tabs can "detach" from ribbon area
-
Enhancements
- #250 - Enable change/hide of window title foreground
Foreground
of window titel can now be changed by settingTitleForeground
onRibbonWindow
.
This is bound toForeground
ofRibbonWindow
.
- #276 - Custom method for saving and restoring QAT items
- #279 - Localization of ColorGallery
- #299 - Quick access items should show item text as tool tip if no tooltip is set
- #324 - Add "IsSeparatorVisible" to RibbonGroupBox (thanks to @maurosampietro)
- #326 - Add interface for controls which provide LargeIcon
- #334 - Select all text in Spinner on focus
- #340 - Expose GroupByAdvanced from GalleryPanel on Gallery and InRibbonGallery
- #360 - Toggling of KeyTips should not happen when Shift is pressed (thanks to @stylefish)
- #387 - Disable/Hide the Menu-DropDown in QuickAccessToolbar
Ribbon
now hasIsQuickAccessToolBarMenuDropDownVisible
andQuickAccessToolbar
now hasIsMenuDropDownVisible
.
- Added
CanChangeIsOpen
toBackstage
- Added
ActiveTabBackground
andActiveTabBorderBrush
toRibbonTabItem
- Improved interop with windows which are not of type
RibbonWindow
.
The showcase contains a sample showcasing working context-tabs in a MahApps.MetroMetroWindow
.
- #250 - Enable change/hide of window title foreground
v4.0.3
v4.0.2
v4.0.1
v4.0.0
-
Notices
- As of now the Office 2010 and Windows 8 themes will be removed in version 5.0. You can vote for this at Future direction of this library.
-
Breaking changes
- New nuget dependency: ControlzEx. So don't forget to add ControlzEx.dll to your distribution/setup.
- BorderlessWindowBehavior was replaced by WindowChromeBehavior from ControlzEx.
This also removes the dependency Microsoft.Windows.Shell as ControlzEx contains everything we need to use WindowChrome.
This behavior is initialized in code behind (InitializeWindowChromeBehavior) and shows which properties of RibbonWindow can be used to control the behavior. - SaveWindowPosition and WindowSettingBehavior were removed #196
- GlassBorderThickness was renamed to GlassFrameThickness to be consitent with WindowChrome and WindowChromeBehavior #209
- FluentTest project was renamed to Fluent.Ribbon.Showcase #212
-
Development/Contributing changes
- We switched to Visual Studio 2015 so we can use nameof etc. #219
-
Bug fixes
- #10 - Maximising a ribbon window with DWM enabled results in it not maximising properly
- #90 - Window chrome turning black during window resize.
- #116 - MenuItem: When the description is long the MenuItem does not expands in Width or Height, does not wrap text
- #129 - DontUseDwm="True" case the window corner unpainted
- #146 - Rendering of Office 2010 theme incorrect on Windows 10
- #191 - Windows 8 Theme - Blue/black margin around the window in windows 10
- #210 - Fix wrong dimensions assumed for WindowCaptionButtons on Windows 10 in Office2010 and Windows 8 themes
- #218 - Not displaying properly when maximized
- #221 - Office2013 theme undesired space between tabItem and its content when showing unpinned
- #223 - RibbonContextualTabGroup ignores Window.ResizeMode
- #226 - Maximising a ribbon window on Win7 "Non-Aero" Mode causes rendering issues
- #228 - Backstage disappears when changing DontUseDwm
- #234 - Disable KeyTips when Ribbon isn't Enabled
- #235 - Items of invisble tab are shown
- #236 - Window size is wrong when window is maximized, backstage is closed and window should be restored to normal size
- #237 - Ribbon Buttons with large text cut off a few pixels
- #238 - New WindowChrome does not work correctly on Windows 7
- #240 - Backstage closes when popup is dismissed inside backstage
- #241 - Keytips should be cancelled if Alt+Num0 is pressed
- #244 - KeyTip not working for childs of ContentPresenter
- #246 - Bind RibbonGroupBox.DataContext on QuickAccessToolBar (thanks to @nishy2000)
- #251 - Changing RibbonStatusBar height to 23 and RibbonStatusBarItem foreground to BackstageFontBrush (thanks to @maurosampietro)
- #253 - Icons of buttons not aligned correctly in Office 2013 theme (thanks to @floele-sp)
- #254 - Basic fix for KeyTips not working when focus is inside a WinForms control
- #256 - ComboBox items don't update properly on ItemsSource binding source collection changes
- #255 - Submenus don't show scroll viewer if items exceed the available space on screen (thanks to @floele-sp)
- #257 - Windows8 RibbonWindowTitleTextGlowBackground was missing (thanks to @maurosampietro)
- #263 - Changing theme from backstage is broken
- #267 - maximizing in Win 10
- #269 - Show underscore of header text on RibbonTabItem
- #272 - Changing RibbonThemeColorBrush does not change background of ItemsPanel in Backstage
- #274 - RadioButton Icon and LargeIcon
- #280 - Keytips of the Ribbon overlay StartScreen
- #284 - Overriding width of button does not work as it should
- #285 - MaterialDesign DialogHost issue with FluentRibbon
- #291 - BackStageTabItem leftmousedown event not firing
- OpenBackstage command was not acting on the correct backstage in a multiple backstage scenario (thanks to @maurosampietro)
-
Enhancements
- #120 - Adding short-cuts or additional information to Application Menu Item
- #185 - Major refactoring of how WindowChrome is used
- #194 - There should be an option to disable animations in the whole control
- #205 - Fluent Spinner handles Format="P0" incorrectly.
- #207 - Enable DragMove on unused RibbonTabControl space like in Office 2013
- #230 - Option to disable the "Minimize"-Ribbon Button & Behavior (thanks to @robertmuehsig)
- #242 - Add start screen like in office 2013 and upwards
- #258 - Refactoring of KeyTipService and KeyTipAdorner (merged with #264)
v3.6.1
-
Bug fixes
- #29 - Backstage flicker
- #112 - Backstage flicker
- #192 - Background of RibbonGroupBox can't be set/changed
- #197 - Some adaptions to better align with Office 2013
- #200 - KeyTips in SplitButton no longer work
- #201 - Cannot change Fluent.Button Icon Dynamically
- #202 - Center the button labels in Office 2013 theme
- #206 - Center alignment button inside RIbbonGroupBox
- #214 - Assign a StringFormat binding to a RibbonGroupBox Header
v3.6.0
-
Bug fixes
- #163 - ColorGallery produces Binding errors because of Binding of Color on SolidColorBrush in Fill/Background
- #166 - Type is mismatch for IsCheckedProperty of ToggleButton
- #170 - Black RibbonWindow title bar
- #173 - Binding Observable Collection to InRibbonGallery causes Layout Error
- #178 - Ribbonwindow crashes
-
Enhancements