我需要改变 shell 选定的标签文本颜色。我在Styles.xaml中有这样的代码:
<Style TargetType="Shell" ApplyToDerivedTypes="True">
<Setter Property="Shell.BackgroundColor" Value="{StaticResource Tertiary900}" />
<Setter Property="Shell.ForegroundColor" Value="{StaticResource White}" />
<Setter Property="Shell.TabBarForegroundColor" Value="{StaticResource Primary}" />
<Setter Property="Shell.TabBarTitleColor" Value="{StaticResource Primary}" />
<Setter Property="Shell.TabBarUnselectedColor" Value="{StaticResource Gray200}" />
</Style>
这在Android平台上运行良好:
但是在WinUI中我得到了这个:
在WinUI中似乎忽略了TabBarTitleColor和TabBarUnselectedColor属性。
1条答案
按热度按时间fumotvh31#
在
.NET 7
上:目前在Windows上,TabBarForegroundColor
是唯一可以做任何事情的API。在
.NET 8
上:如果用户为Windows设置了其他API,则这些API现在将开始正确应用于Windows。标签是从
WinUI template
生成的,所以如果你需要在NET 8之前解决this问题,你可以用你自己的模板替换这里的模板。将以下代码添加到Platform/Windows/App.xaml文件中。有关更多信息,请参阅https://github.com/dotnet/maui/blob/main/src/Controls/src/Core/Platform/Windows/TabbedPage/TabbedPageStyle.xaml。