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
21.63k stars 1.61k forks source link

OS system components ignore app theme #22058

Open NiekRossenInfoSupport opened 2 weeks ago

NiekRossenInfoSupport commented 2 weeks ago

Description

In the maui app, when the operating system theme is set opposite to that of the app itself, certain components such as the datepicker, keyboard, and navigation list animations display in the wrong theme.

This results in the components adopting the theme of the operating system, causing the user to see a component in the opposite color.

For example: The app is set to the "Light" theme, but the user has their phone's theme set to "Dark." The app appears to the user in white, but native iOS/Android components like the datepicker and keyboard appear in the theme of the operating system, in this case, dark.

I've reproduced this on the following devices: Windows, Android, IOS

Please refer to the attached images for clarification.: image image

Steps to Reproduce

  1. Create a new maui project
  2. Set the UserAppTheme to Dark UserAppTheme = AppTheme.Dark;
  3. Insert a timepicker to you mainwindow
  4. Set your os system theme to light
  5. Launch the app
  6. Open the timepicker component
  7. Component is in in light mode -> but should be dark

Link to public reproduction project repository

https://github.com/NiekRossenInfoSupport/maui-app

Version with bug

8.0.7 SR2

Is this a regression from previous behavior?

Not sure, did not test other versions

Last version that worked well

Unknown/Other

Affected platforms

iOS, Android, Windows

Affected platform versions

No response

Did you find any workaround?

No response

Relevant log output

No response

Zhanglirong-Winnie commented 2 weeks ago

Verified this issue with Visual Studio 17.10.0 Preview 5(8.0.14&8.0.7). Can repro on all platforms.

Equabyte commented 1 week ago

See also my comment to #6094.