diff --git a/Fluent.Ribbon.Showcase/TestContent.xaml b/Fluent.Ribbon.Showcase/TestContent.xaml
index 831a0ee1c..cc2c16798 100644
--- a/Fluent.Ribbon.Showcase/TestContent.xaml
+++ b/Fluent.Ribbon.Showcase/TestContent.xaml
@@ -23,7 +23,7 @@
-
+
@@ -90,7 +90,7 @@
-
+
-
+
@@ -1104,10 +1104,11 @@ Pellentesque nec dolor sed lacus tristique rutrum sed vitae urna. Sed eu pharetr
-
-
+
Read-only
Writeable
-
+
-
+
+ Fluent:KeyTip.Keys="LTM" />
@@ -2809,7 +2810,7 @@ Pellentesque nec dolor sed lacus tristique rutrum sed vitae urna. Sed eu pharetr
-
+
-
+
-
+
-
+
-
-
+
+
Fluent.Ribbon
@@ -2997,42 +2998,42 @@ Pellentesque nec dolor sed lacus tristique rutrum sed vitae urna. Sed eu pharetr
It provides controls such as RibbonTabControl, Backstage, Gallery, QuickAccessToolbar, ScreenTip and so on.
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
-
-
-
-
-
-
+
+
+
+
+
-
-
-
-
-
+
+
+
-
-
-
-
-
-
+
-
-
-
-
-
+
+
+
-
-
-
+
+
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
-
-
-
-
-
+
+
+
+
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
- ApplicationMenu
- Backstage
- Empty menu
-
+ ApplicationMenu
+ Backstage
+ Empty menu
+
-
- Show start screen
-
-
-
-
-
-
-
+
+
+
+
+
+
-
-
-
-
-
-
- IsIconVisible
-
-
- IsCollapsed
-
-
- IsAutomaticCollapseEnabled
-
-
+
+
+
+
+
+ IsIconVisible
+
+
+ IsCollapsed
+
+
+ IsAutomaticCollapseEnabled
+
+
- IsStatusBarVisible
-
-
+
-
- IgnoreTaskbarOnMaximize
-
-
-
-
-
-
-
- ShowQuickAccessToolBarAboveRibbon
-
-
- CanCustomizeQuickAccessToolBar
-
-
- CanCustomizeQuickAccessToolBarItems
-
-
- CanCustomizeRibbon
-
-
- IsMinimized
-
-
- CanMinimize
-
-
- IsCollapsed
-
-
- IsAutomaticCollapseEnabled
-
-
- IsQuickAccessToolBarVisible
-
-
- IsQuickAccessToolBarMenuDropDownVisible
-
-
- CanQuickAccessLocationChanging
-
-
- AutomaticStateManagement
-
-
- AreTabHeadersVisible
-
-
- IsToolBarVisible
-
-
- IsMouseWheelScrollingEnabled
-
-
- IsDefaultContextMenuEnabled
-
-
-
-
-
-
+
+
+
+
+ ShowQuickAccessToolBarAboveRibbon
+
+
+ CanCustomizeQuickAccessToolBar
+
+
+ CanCustomizeQuickAccessToolBarItems
+
+
+ CanCustomizeRibbon
+
+
+ IsMinimized
+
+
+ CanMinimize
+
+
+ IsCollapsed
+
+
+ IsAutomaticCollapseEnabled
+
+
+ IsQuickAccessToolBarVisible
+
+
+ IsQuickAccessToolBarMenuDropDownVisible
+
+
+ CanQuickAccessLocationChanging
+
+
+ AutomaticStateManagement
+
+
+ AreTabHeadersVisible
+
+
+ IsToolBarVisible
+
+
+ IsMouseWheelScrollingEnabled
+
+
+ IsDefaultContextMenuEnabled
+
+
+
+
+
+
-
-
-
-
+
+
+
+
-
+
@@ -3328,7 +3329,7 @@ Pellentesque nec dolor sed lacus tristique rutrum sed vitae urna. Sed eu pharetr
MouseDoubleClick="OnTreeDoubleClick" />
-
+
@@ -3410,80 +3411,80 @@ Pellentesque nec dolor sed lacus tristique rutrum sed vitae urna. Sed eu pharetr
-
+
-
-
-
-
+
+
+ Add tab
-
-
-
-
-
+
+
+
+ Open MahMetro-Window
-
-
-
-
-
+
+
+
+ Open Regular-Window
- Open Minimal Ribbon-Window Sample
- Open Ribbon-Window without visible Ribbon
- Open Ribbon-Window without Ribbon
- Open Ribbon-Window (ShowDialog)
- Open Ribbon-Window (new Thread)
- Open Ribbon-Window (colorized)
- Open Ribbon-Window (with background image)
-
-
-
-
-
+
+
+
+ Sleep for issues #80 and #159
-
- Change theme from thread
-
-
-
-
- Change theme from thread
+
+
+
+
+
-
+
-
-
- Test System.Windows.Controls.TextBox
+
+
+ Test System.Windows.Controls.TextBox
+
-
-
-
-
-
+
+
+
+
@@ -3523,7 +3524,7 @@ Pellentesque nec dolor sed lacus tristique rutrum sed vitae urna. Sed eu pharetr
-
+
-
+
-
+
-
+
GetTypesWithImplementedInterface(Type type)
private static readonly Type[] excludedTypesForLogicalChildSupportTest =
{
+ typeof(MediumIconProviderProperties),
typeof(LargeIconProviderProperties),
typeof(GalleryItem)
};
diff --git a/Fluent.Ribbon/Controls/RibbonGroupBox.cs b/Fluent.Ribbon/Controls/RibbonGroupBox.cs
index c18769eb7..83bb3871d 100644
--- a/Fluent.Ribbon/Controls/RibbonGroupBox.cs
+++ b/Fluent.Ribbon/Controls/RibbonGroupBox.cs
@@ -31,7 +31,7 @@ namespace Fluent
[TemplatePart(Name = "PART_UpPanel", Type = typeof(Panel))]
[TemplatePart(Name = "PART_ParentPanel", Type = typeof(Panel))]
[TemplatePart(Name = "PART_SnappedImage", Type = typeof(Image))]
- public class RibbonGroupBox : HeaderedItemsControl, IQuickAccessItemProvider, IDropDownControl, IKeyTipedControl, IHeaderedControl, ILogicalChildSupport
+ public class RibbonGroupBox : HeaderedItemsControl, IQuickAccessItemProvider, IDropDownControl, IKeyTipedControl, IHeaderedControl, ILogicalChildSupport, IMediumIconProvider
{
#region Fields
@@ -364,7 +364,7 @@ public object? LauncherIcon
#endregion
- #region LauncherIcon
+ #region LauncherText
///
/// Gets or sets launcher button text
@@ -549,6 +549,20 @@ public object? Icon
#endregion
+ #region MediumIcon
+
+ ///
+ public object? MediumIcon
+ {
+ get { return this.GetValue(MediumIconProperty); }
+ set { this.SetValue(MediumIconProperty, value); }
+ }
+
+ /// Identifies the dependency property.
+ public static readonly DependencyProperty MediumIconProperty = MediumIconProviderProperties.MediumIconProperty.AddOwner(typeof(RibbonGroupBox), new PropertyMetadata(LogicalChildSupportHelper.OnLogicalChildPropertyChanged));
+
+ #endregion
+
#region IsSeparatorVisible
///
@@ -1232,6 +1246,11 @@ protected override IEnumerator LogicalChildren
yield return this.Icon;
}
+ if (this.MediumIcon is not null)
+ {
+ yield return this.MediumIcon;
+ }
+
if (this.LauncherIcon is not null)
{
yield return this.LauncherIcon;
diff --git a/Fluent.Ribbon/IMediumIconProvider.cs b/Fluent.Ribbon/IMediumIconProvider.cs
new file mode 100644
index 000000000..c78483521
--- /dev/null
+++ b/Fluent.Ribbon/IMediumIconProvider.cs
@@ -0,0 +1,31 @@
+namespace Fluent
+{
+ using System.Windows;
+ using Fluent.Helpers;
+
+ ///
+ /// Inferface for controls which provide a medium icon.
+ ///
+ public interface IMediumIconProvider
+ {
+ ///
+ /// Gets or sets the medium icon.
+ ///
+ object? MediumIcon { get; set; }
+ }
+
+ ///
+ /// Provides some for .
+ ///
+ public class MediumIconProviderProperties : DependencyObject
+ {
+ private MediumIconProviderProperties()
+ {
+ }
+
+ ///
+ /// for .
+ ///
+ public static readonly DependencyProperty MediumIconProperty = DependencyProperty.Register(nameof(IMediumIconProvider.MediumIcon), typeof(object), typeof(MediumIconProviderProperties), new PropertyMetadata(LogicalChildSupportHelper.OnLogicalChildPropertyChanged));
+ }
+}
\ No newline at end of file
diff --git a/Fluent.Ribbon/Themes/Controls/RibbonGroupBox.xaml b/Fluent.Ribbon/Themes/Controls/RibbonGroupBox.xaml
index 6f4c75f72..b4b8c8274 100644
--- a/Fluent.Ribbon/Themes/Controls/RibbonGroupBox.xaml
+++ b/Fluent.Ribbon/Themes/Controls/RibbonGroupBox.xaml
@@ -330,18 +330,28 @@
Margin="5,38,5,0"
KeyboardNavigation.IsTabStop="False" />
-
-
+ BorderBrush="{DynamicResource Fluent.Ribbon.Brushes.RibbonGroupBox.Collapsed.BorderBrush}">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+