@@ -29,36 +29,6 @@ public RibbonArea()
29
29
30
30
private void Current_SizeChanged ( object sender , Windows . UI . Core . WindowSizeChangedEventArgs e )
31
31
{
32
-
33
-
34
-
35
- // Ignore selected File Menu (index 0)
36
- if ( RibbonTabView . SelectedIndex > 0 && RibbonTabView . IsLoaded )
37
- {
38
- double totalWidth = 0 ;
39
- var allItems = ( ( RibbonTabView . Items [ RibbonTabView . SelectedIndex ] as TabViewItem ) . Content as RibbonPage ) . PageContent ;
40
- var RibbonItems = allItems . Where ( x => x . DisplayMode != RibbonItemDisplayMode . Divider ) ;
41
- foreach ( IRibbonItem item in RibbonItems )
42
- {
43
- totalWidth += item . EstimatedWidth ;
44
- }
45
- double averageItemWidth = 145 ;
46
- int visibleItemCapacity = int . Parse ( Math . Round ( Window . Current . Bounds . Width / averageItemWidth ) . ToString ( ) ) ;
47
- int totalRibbonCommandItemsCount = RibbonItems . Count ( ) ;
48
- var itemsToShow = RibbonItems . Take ( visibleItemCapacity ) ;
49
- var itemsToMakeCompact = RibbonItems . TakeLast ( totalRibbonCommandItemsCount - itemsToShow . Count ( ) ) ;
50
- foreach ( RibbonCommandItem item in itemsToShow )
51
- {
52
- item . DisplayMode = RibbonItemDisplayMode . Tall ; // TODO: Implement Tall Ribbon Items AppSetting
53
- }
54
-
55
- foreach ( RibbonCommandItem itemToCollapse in itemsToMakeCompact )
56
- {
57
- itemToCollapse . DisplayMode = RibbonItemDisplayMode . Compact ;
58
- }
59
- }
60
-
61
-
62
32
if ( Window . Current . Bounds . Width >= 800 )
63
33
{
64
34
if ( App . CurrentInstance != null )
@@ -73,6 +43,45 @@ private void Current_SizeChanged(object sender, Windows.UI.Core.WindowSizeChange
73
43
74
44
RibbonViewModel . HideAppBarSeparator ( ) ;
75
45
}
46
+
47
+ // Ignore selected File Menu (index 0)
48
+ if ( RibbonTabView . SelectedIndex > 0 && RibbonTabView . IsLoaded )
49
+ {
50
+ var freeSpaceWidth = ( ( RibbonTabView . Items [ RibbonTabView . SelectedIndex ] as TabViewItem ) . Content as RibbonPage ) . FreeSpaceGrid . ActualWidth ;
51
+ if ( freeSpaceWidth <= 10 )
52
+ {
53
+ var allItems = ( ( RibbonTabView . Items [ RibbonTabView . SelectedIndex ] as TabViewItem ) . Content as RibbonPage ) . PageContent ;
54
+ var RibbonItems = allItems . Where ( x => x . DisplayMode != RibbonItemDisplayMode . Divider && x . DisplayMode != RibbonItemDisplayMode . Compact ) ;
55
+ if ( RibbonItems . Count ( ) > 0 )
56
+ {
57
+ var itemToMakeCompact = RibbonItems . Last ( ) ;
58
+ itemToMakeCompact . DisplayMode = RibbonItemDisplayMode . Compact ;
59
+ freeSpaceWidth = ( ( RibbonTabView . Items [ RibbonTabView . SelectedIndex ] as TabViewItem ) . Content as RibbonPage ) . FreeSpaceGrid . ActualWidth ;
60
+ }
61
+ else
62
+ {
63
+ return ;
64
+ }
65
+
66
+ }
67
+
68
+ if ( freeSpaceWidth >= 125 )
69
+ {
70
+ var allItems = ( ( RibbonTabView . Items [ RibbonTabView . SelectedIndex ] as TabViewItem ) . Content as RibbonPage ) . PageContent ;
71
+ var RibbonItems = allItems . Where ( x => x . DisplayMode != RibbonItemDisplayMode . Divider && x . DisplayMode == RibbonItemDisplayMode . Compact ) ;
72
+ if ( RibbonItems . Count ( ) > 0 )
73
+ {
74
+ var itemToMakeFullSize = RibbonItems . First ( ) ;
75
+ itemToMakeFullSize . DisplayMode = RibbonItemDisplayMode . Wide ;
76
+ freeSpaceWidth = ( ( RibbonTabView . Items [ RibbonTabView . SelectedIndex ] as TabViewItem ) . Content as RibbonPage ) . FreeSpaceGrid . ActualWidth ;
77
+ }
78
+ else
79
+ {
80
+ return ;
81
+ }
82
+
83
+ }
84
+ }
76
85
}
77
86
78
87
private void ListView_SelectionChanged ( object sender , SelectionChangedEventArgs e )
0 commit comments