dotnet / maui

.NET MAUI is the .NET Multi-platform App UI, a framework for building native device applications spanning mobile, tablet, and desktop.
https://dot.net/maui
MIT License
22.01k stars 1.73k forks source link

Flyout menu is always accessible irrespective of the Shell settings in the Windows platform #5414

Closed egvijayanand closed 2 years ago

egvijayanand commented 2 years ago

Description

The flyout menu is always accessible irrespective of the Shell settings in the Windows platform.

Have defined a Shell structure such that there are Flyout items and a (hidden) TabBar for managing the Login page.

When the Login page is in focus, the Flyout won't be accessible and that's the case till Preview 13 and now in Preview 14, the Flyout menu is always accessible even when attached property Shell.FlyoutBehavior="Disabled" is set on any of the Flyout pages.

Steps to Reproduce

  1. Create a new .NET MAUI App
  2. Add a Shell page definition
  3. Define a few FlyoutItems and in any one of the pages set the attached property Shell.FlyoutBehavior="Disabled"
  4. Update Shell page as the MainPage of the application
  5. Set Windows as the target platform then build and run the application
  6. Navigate to the page where the attached property is set in Step 3, the Flyout will still be accessible
  7. Same is the case with hidden TabBar

Version with bug

Preview 14 (current)

Last version that worked well

Preview 13

Affected platforms

Windows, I was not able test on other platforms

Affected platform versions

Windows SDK 10.0.19041

Did you find any workaround?

Nope, it's behaving properly on Android but couldn't able to test on other platforms (iOS and MacCatalyst).

Relevant log output

No response

egvijayanand commented 2 years ago

The screenshot with the TabBar login page is in focus.

Shell-Flyout-Always-Accessible
ghost commented 2 years ago

Hi @egvijayanand. We have added the "s/needs-repro" label to this issue, which indicates that we require steps and sample code to reproduce the issue before we can take further action. Please try to create a minimal sample project/solution or code samples which reproduce the issue, ideally as a GitHub repo that we can clone. See more details about creating repros here: https://github.com/dotnet/maui/blob/main/.github/repro.md

This issue will be closed automatically in 7 days if we do not hear back from you by then - please feel free to re-open it if you come back to this issue after that time.

egvijayanand commented 2 years ago

Attached is the solution that simulates the issue.

And it's a straightforward scenario as described in the Steps to Reproduce.

Set Windows as the target platform and run the project. Flyout menu is always accessible even on the Login page and Page2 where Shell settings have been customized.

Issue5414.zip

PineYi commented 2 years ago

Reproduce in Windows with above project.

PureWeen commented 2 years ago

This appears to be fixed on RC1.