Back to Microsoft Ui Xaml

NavigationView Overview

src/controls/dev/NavigationView/docs/NavigationView_Overview.md

2.8.72.4 KB
Original Source

NavigationView Overview

NavigationView has multiple modes and various features. Please refer to the public documentation linked here for this information.

Link to internal NavigationView API Spec Link to internal NavigationView Updates API Spec

Some History

Listview to ItemsRepeater Transition

Link to relevant Pull Request.

Originally NavigationView used ListView in order to display the list of items. ListView handled various functionality internally (such as selection) which required NavigationView to adapt its internal implementation to account for ListView behaviour. As more features got added to NavigationView, the fighting with ListView became more difficult and the code written became less legible and straightforward.

When implementing Heirarchical NavigationView, the decision was made to replace ListView internally with ItemsRepeater and SelectionModel. This made it easier to implement Heirarchical functionality and later add the FooterMenuItems functionality.

Heirarchical NavigationView Addition

Link to revelant functional spec.

Link to relevant Pull Request.

This was the first feature addition to NavigationView which made use of the, at the time, new addition of ItemsRepeater and SelectionModel. SelectionModel simplified the implementation of multi-level selection and ItemsRepeater simplified the ability to display nested items, whether inline or in a flyout.

FooterMenuItems Addition

Link to relevant Pull Request.

FooterMenuItems functionality was contributed by an open source community member.