Skip to content

Shell TabBar More button causes ViewModel command binding disconnection on back navigation #30862

@orlandommb

Description

@orlandommb

Description

When using .NET MAUI Shell with more than 5 tabs in a TabBar, the framework automatically creates a "More" button that displays additional tabs in a separate interface. ViewModels associated with pages accessed through this "More" button experience command binding disconnection when navigating back, causing RelayCommand properties to become non-functional

The Shell TabBar has a hard-coded limit of 5 visible tabs (MaxBottomItems = 5). When this limit is exceeded, tabs are moved to a "More" overflow menu that uses a different navigation mechanism (BottomSheetDialog on Android, MoreNavigationController on iOS). This alternate navigation path appears to have different ViewModel lifecycle management, causing command bindings to disconnect during back navigation.

Steps to Reproduce

  1. Create a Shell application with more than 5 tabs in a TabBar
  2. Add ViewModels with RelayCommand properties to pages accessed via the "More" button
  3. Navigate to a page through the "More" button
  4. Navigate to a sub-page from that page
  5. Navigate back using the back button
  6. Attempt to interact with any command-bound UI elements (buttons, etc.)

Link to public reproduction project repository

https://github.com/orlandommb/MAUITabsBugSample

Version with bug

9.0.90 SR9

Is this a regression from previous behavior?

Not sure, did not test other versions

Last version that worked well

Unknown/Other

Affected platforms

iOS, I was not able test on other platforms

Affected platform versions

iOS 18.5

Did you find any workaround?

Not stacking more than 5 tabs.

Relevant log output

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions