Skip to content

Commit 466faa9

Browse files
committed
Setting DisplayMode to Top for NavView
1 parent 984f012 commit 466faa9

File tree

2 files changed

+8
-32
lines changed

2 files changed

+8
-32
lines changed

CommunityToolkit.App.Shared/Helpers/NavigationViewHelper.cs

Lines changed: 6 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -14,25 +14,18 @@ public static class NavigationViewHelper
1414

1515
foreach (var navData in categoryData)
1616
{
17-
// Make subcategories
18-
var subcategoryData = GenerateSubcategoryNavItems(navData.SampleMetadata ?? Enumerable.Empty<ToolkitFrontMatter>());
17+
var samplesBySubcategory = navData.SampleMetadata!.GroupBy(x => x.Subcategory)
18+
.OrderBy(g => g.Key.ToString());
1919

20-
foreach (var subcategoryItemData in subcategoryData)
20+
foreach (var subcategoryGroup in samplesBySubcategory)
2121
{
22-
// Make samples
23-
var sampleNavigationItems = GenerateSampleNavItems(subcategoryItemData.SampleMetadata ?? Enumerable.Empty<ToolkitFrontMatter>());
24-
subcategoryItemData.NavItem.MenuItems.Add(new MUXC.NavigationViewItemSeparator());
25-
foreach (var item in sampleNavigationItems)
22+
navData.NavItem.MenuItems.Add(new MUXC.NavigationViewItemHeader() { Content = subcategoryGroup.Key.ToString() });
23+
foreach (var sampleNavItem in GenerateSampleNavItems(subcategoryGroup))
2624
{
27-
// Add sample to subcategory
28-
subcategoryItemData.NavItem.MenuItems.Add(item);
25+
navData.NavItem.MenuItems.Add(sampleNavItem);
2926
}
30-
31-
// Add subcategory to category
32-
navData.NavItem.MenuItems.Add(subcategoryItemData.NavItem);
3327
}
3428

35-
// Return category
3629
yield return navData.NavItem;
3730
}
3831
}
@@ -61,23 +54,6 @@ public static class NavigationViewHelper
6154
}
6255
}
6356

64-
private static IEnumerable<GroupNavigationItemData> GenerateSubcategoryNavItems(IEnumerable<ToolkitFrontMatter> sampleMetadata)
65-
{
66-
var samplesBySubcategory = sampleMetadata.GroupBy(x => x.Subcategory)
67-
.OrderBy(g => g.Key.ToString());
68-
69-
foreach (var subcategoryGroup in samplesBySubcategory)
70-
{
71-
yield return new GroupNavigationItemData(new MUXC.NavigationViewItem
72-
{
73-
Content = subcategoryGroup.Key,
74-
SelectsOnInvoked = false,
75-
IsExpanded = false,
76-
Style = (Style)App.Current.Resources["SubcategoryNavigationViewItemStyle"],
77-
}, subcategoryGroup.ToArray());
78-
}
79-
}
80-
8157
private static IEnumerable<GroupNavigationItemData> GenerateCategoryNavItems(IEnumerable<ToolkitFrontMatter> sampleMetadata)
8258
{
8359
var samplesByCategory = sampleMetadata.GroupBy(x => x.Category)
@@ -97,5 +73,4 @@ private static IEnumerable<GroupNavigationItemData> GenerateCategoryNavItems(IEn
9773
/// <param name="NavItem">A navigation item to contain items in this group.</param>
9874
/// <param name="SampleMetadata">The samples that belong under <see cref="NavItem"/>.</param>
9975
private record GroupNavigationItemData(MUXC.NavigationViewItem NavItem, IEnumerable<ToolkitFrontMatter> SampleMetadata);
100-
10176
}

CommunityToolkit.App.Shared/Pages/Shell.xaml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,8 @@
3939
Grid.Row="1"
4040
IsBackButtonVisible="Collapsed"
4141
IsPaneToggleButtonVisible="False"
42-
ItemInvoked="NavView_ItemInvoked">
42+
ItemInvoked="NavView_ItemInvoked"
43+
PaneDisplayMode="Top">
4344
<Frame x:Name="NavigationFrame"
4445
Navigated="NavigationFrameOnNavigated" />
4546
</muxc:NavigationView>

0 commit comments

Comments
 (0)