MAUI UserAppTheme设置不适用于选取器/搜索栏



环境:VS 17.4预览1,Windows10,系统主题:深色

重现错误:

1、创建一个新的毛伊岛项目。

2、增加了一行

Application.Current.UserAppTheme = AppTheme.Light;

到App.xaml.cs文件

3,在mainpage.xaml中,构建一个选择器和一个搜索栏,如下所示:

<StackLayout>
<Border Stroke="Red">
<Picker>
<Picker.ItemsSource>
<x:Array Type="{x:Type x:String}">
<x:String>Item1</x:String>
<x:String>Item2</x:String>
<x:String>Item3</x:String>
</x:Array>
</Picker.ItemsSource>
</Picker>
</Border>
<Border Stroke="Blue">
<SearchBar WidthRequest="300"
HeightRequest="50"
Placeholder="input search text"
TextColor="Blue" />
</Border>
</StackLayout>

4、确保你的系统处于黑暗主题。

5、启动程序。

你可以看到,拾取器仍然在黑暗的面板中;如果将鼠标移到选取器上,文本颜色将变为白色,看起来就像消失了一样。搜索栏按钮消失了,因为它是白色的。

UPDATE:添加了针对windows和android的修复程序。

对于Windows
在Platforms>中设置RequestedTheme属性;Windows>App.xaml为"浅色"或"深色">
请记住为您的应用程序设置Application.Current.UserAppTheme = AppTheme.Light;以及以下cha

<maui:MauiWinUIApplication
x:Class="NetMaui.WinUI.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:maui="using:Microsoft.Maui"
RequestedTheme="Light"
xmlns:local="using:NetMaui.WinUI">
</maui:MauiWinUIApplication>

对于Android
我制作了一个视频,这可能就是你想要的。有同样的问题。此代码需要放在Android平台文件夹下的MainApplication.cs中。

AppCompatDelegate.DefaultNightMode = AppCompatDelegate.ModeNightNo;

https://youtu.be/7Rqq8LrdkO8

最新更新