Skip to content

Proposal: Make NavigationView more friendly with data binding and implicit navigation #5026

@huoyaoyuan

Description

@huoyaoyuan

Proposal: Make NavigationView more friendly with data binding and implicit navigation

Summary

Currently, the NavigationView control only manages the navigation menu, but not the actual content navigation. You suggested to use it as a replacement of Pivot, but it lacks the core feature.
The SettingItem property is also very unfriendly with binding.

Rationale

  • User will want to just specify the relationship between menu items and contents, not bothering with the navigation code, which is usually just several common patterns.
  • User will want to handle setting item like other items.

Scope

Capability Priority
User can just specify type on each navigation element, and the navigation and back button will just work. Must
User can also construct the content, instead of using type. Must
The selected menu item get tracked when the frame is navigated by other action. Should
When selecting setting item, the SelectedItem property don't necessarily the item container. Should
The NavigationView gets a Frame without opt-in. Won't

Important Notes

Make SettingItem settable can solve its issue and may harm little to consumers, but requires implementation change.
Allowing using navigation transition without Frame can help the manually constructed scenario.

Open Questions

The typed scenario is friendly with Frame and manually constructed scenario requires ContentPresenter. Can they introduce more complexity?

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions