Xamarin Experiment - SetFlags - AppTheme_Experimental



我决定将Xamarin Forms应用程序更新到XF 4.8。我写了一些AppThemeColor来处理暗模式。XF 4.6的一切都很好。升级到XF 4.8现在产生了一个错误,我得到了AppThemeColor不存在的错误,并想知道我是否引用了我的所有程序集。此前,XF 4.7存在问题,需要选择实验主题功能。好的,所以我进入我的App.xaml.cs类,进入应用初始化程序并调用:

Device.SetFlags(new string[] {"AppTheme_Experimental"});

没有爱。好的,所以我在iOS和Android项目中尝试这样做,以在FinishedLaunching和OnCreate方法中以编程方式设置标志。仍然没有爱。我不断地犯错误。

就我个人而言,我认为我需要在项目选项设置中做一些事情,让编译器来处理这个问题,但我什么都没看到。

问题:如何打开AppThemeColor,使其正确编译?

TIA,Wally

您可以使用AppThemeBinding来处理暗模式。

<!-- Light colors -->
<Color x:Key="LightPrimaryColor">WhiteSmoke</Color>
<Color x:Key="LightSecondaryColor">Black</Color>
<!-- Dark colors -->
<Color x:Key="DarkPrimaryColor">Teal</Color>
<Color x:Key="DarkSecondaryColor">White</Color>
<Style x:Key="ButtonStyle"
TargetType="Button">
<Setter Property="BackgroundColor"
Value="{AppThemeBinding Light={StaticResource LightPrimaryColor}, Dark={StaticResource DarkPrimaryColor}}" />
<Setter Property="TextColor"
Value="{AppThemeBinding Light={StaticResource LightSecondaryColor}, Dark={StaticResource DarkSecondaryColor}}" />
</Style>

我对Xamarin进行了测试。表格4.8.0.1269。当我在Forms.Init()之前的MainActivity中添加下面的代码时,它工作得很好。

Forms.SetFlags("AppTheme_Experimental");
global::Xamarin.Forms.Forms.Init(this, savedInstanceState);

LoadApplication(new App());

您可以从下面的链接下载源文件。https://learn.microsoft.com/en-us/samples/xamarin/xamarin-forms-samples/userinterface-systemthemesdemo/

相关内容

最新更新