Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Rework
MenuItems
andFooterMenuItems
inNavigationView
andNavigationViewItem
. Once fixed, we can showcase submenu items in the Gallery App.Pull request type
Please check the type of change your PR introduces:
What is the current behavior?
Submenu styling was already implemented in the NavigationView's Top mode but was omitted from the Gallery App, presumably due to bugs (see #759). The main problem, as I saw it, was the cohesion between
Items
,ItemsSource
and their dependency properties (DPs).Traditionally in a wpf
ItemsControl
,Items
is a readonly property of typeItemsCollection
which can maintain it's ownItemsSource
. In WinUi, it's still readonly but of the more generic typeIList<object>
and it comes with a DP.What is the new behavior?
The relationship between
Items
andItemsSource
has been redefined. For eachItems
/ItemsSource
pair, there is now one collection (ObservableCollection<object>
) created in the control's constructor. Lazy loading in the getter proved problematic because XAML bypasses the getter in favor of its own store when a DP is defined. Instead of replacing the collection,ItemsSource
now clears and updates the collection's elements. TheItems
properties is now read-only and backed by a read-only dependency property, aligning with conventional WPF/WinUI practices.Added submenu content to the Gallery App