Skip to content

Releases: fluentribbon/Fluent.Ribbon

v6.0.0

28 Jan 10:01
Compare
Choose a tag to compare

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 regular RadioButton, except that it was bound to visual root scope.
      The dependency on a visual root scope has been remove, so please adjust the GroupName for groups if you have groups with the same name in different visual root scopes.
    • DropDownButton (and thus also SplitButton) now inherit from ItemsControl instead of MenuBase.
      This was changed because MenuBase causes a lot of issues regarding keyboard navigation, focus etc..
      This also means that you should use Fluent:MenuItem instead of the system provided MenuItem as immediate children of DropDownButton and SplitButton.
    • SplitButton now generates two KeyTip elements for itself. If you previously used "S" as KeyTip there will now be "S1" for the button action and "S2" will open the dropdown.
    • Changes made to Ribbon
      • Internal properties for QuickAccessToolBar and TabControl got converted to DependencyProperty
      • Changed order of Children returned from LogicalChildren
      • Type of metadata for Menu and StartScreen changed from PropertyMetadata to FrameworkPropertyMetadata
    • 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 from void to KeyTipPressedResult.
    • The following Color and Brush resources got replaced/renamed/removed:
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 ---

  • Bug fixes

    • #344 - Invisible header of combobox on QuickAccessToolBar.
    • #395 - issues with contextual tab group
    • #405 - InRibbonGallery when loaded, mouse wheel up or down cause crash. (thanks @Yumeryu)
    • #419 - BackstageTabItem Is Never Deselected if BackstageTabControl is not Logical Parent
    • ...
Read more

v5.0.2

05 Jun 09:40
Compare
Choose a tag to compare

5.0.2

  • #437 - "Could not load ControlzEx"

v5.0.1

14 Mar 18:37
Compare
Choose a tag to compare

5.0.1

  • Bug fixes

    • #412 - Specific version for nuget references causes issues

v5.0.0

11 Mar 15:46
Compare
Choose a tag to compare

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 default ItemsPanelTemplate instead of VirtualizingStackPanel again.
      If you prefer to use VirtualizingStackPanel you can change this on a per instance level or add it to your default Style.
    • #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 from Ribbon to RibbonWindow
      • RibbonWindow exposes TitleBar which is of type RibbonTitleBar.
        Ribbon uses the TitleBar provided by the RibbonWindow by default, through it's Style.
        This allows changing the TitleBar being used by the Ribbon.
    • Removed RibbonProperties.TitleBarHeight to simplify usage of the Ribbon in non RibbonWindow.
      To support this the following things were added:
      • SelectedContentMargin was added to BackstageTabControl
      • QuickAccessToolBarHeight on Ribbon
      • TitleBarHeight on RibbonWindow
    • #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 to FluentDefaultSystemMenuItemStyle
  • 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 setting TitleForeground on RibbonWindow.
        This is bound to Foreground of RibbonWindow.
    • #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 has IsQuickAccessToolBarMenuDropDownVisible and QuickAccessToolbar now has IsMenuDropDownVisible.
    • Added CanChangeIsOpen to Backstage
    • Added ActiveTabBackground and ActiveTabBorderBrush to RibbonTabItem
    • Improved interop with windows which are not of type RibbonWindow.
      The showcase contains a sample showcasing working context-tabs in a MahApps.Metro MetroWindow.

v4.0.3

12 Apr 18:55
Compare
Choose a tag to compare

Bug fixes

  • Fixes issues with window border on Windows 7 and Windows 8

v4.0.2

11 Apr 10:53
Compare
Choose a tag to compare

Bug fixes

  • #294 - Issues with default style and OverridesDefaultStyle

v4.0.1

11 Apr 09:25
Compare
Choose a tag to compare

Bug fixes

  • #293 - ArgumentNullException in BackstageTabControl while trying to find the selected tab

v4.0.0

20 Dec 16:54
Compare
Choose a tag to compare
  • Notices

  • 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

13 Dec 07:33
Compare
Choose a tag to compare
  • 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

22 Oct 16:11
Compare
Choose a tag to compare
  • 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

    • #172 - ToggleButtonHelper.OnIsCheckedChanged() accepts type of "bool?". contributed by (nishy2000)
    • #175 - Add "CloseOnEsc" property to Backstage to disable closing the backstage when ESC is pressed. contributed by Christoph Fink (chrfin)