如何解决Xamarin实验-SetFlags-AppTheme_Experimental
我决定将Xamarin Forms应用程序更新为XF 4.8。我已经写了一些AppThemeColor来处理暗模式。在XF 4.6中一切正常。升级到XF 4.8现在产生了一个错误,我得到的错误是AppThemeColor不存在,并且想知道是否引用了我的所有程序集。以前,XF 4.7一直存在问题,需要选择实验性主题功能。好的,所以我进入App.xaml.cs类,进入App Initializor并调用:
Device.SetFlags(new string[] {"AppTheme_Experimental"});
没有爱。好的,所以我在iOS和Android项目中尝试使用此方法,以在FinishedLaunching和OnCreate方法中以编程方式设置标志。仍然没有爱。我继续遇到错误。
就我个人而言,我认为我需要在项目选项设置中进行一些操作,以使编译器可以进行此操作,但是我什么也没看到。
问题:如何打开AppThemeColor使其正确编译?
TIA, 沃利
解决方法
您可以使用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.Forms 4.8.0.1269上进行了测试。当我在MainActivity
之前的Forms.Init()
中添加以下代码时,效果很好。
Forms.SetFlags("AppTheme_Experimental");
global::Xamarin.Forms.Forms.Init(this,savedInstanceState);
LoadApplication(new App());
您可以从下面的链接下载源文件。 https://docs.microsoft.com/en-us/samples/xamarin/xamarin-forms-samples/userinterface-systemthemesdemo/
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。