-
Notifications
You must be signed in to change notification settings - Fork 1.9k
Description
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
- Create a Shell application with more than 5 tabs in a TabBar
- Add ViewModels with RelayCommand properties to pages accessed via the "More" button
- Navigate to a page through the "More" button
- Navigate to a sub-page from that page
- Navigate back using the back button
- 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.