2017-03-24 26 views

回答

2

可以,通过App.cs类中的代码添加资源,您可以切换使用哪个主题。

在您设置的默认主题类的构造函数:

Resources = new Xamarin.Forms.Themes.DarkThemeResources(); 

你那么暴露的方法是这样的类SwitchTheme()在那里你会指定其他主题:

public void SwitchTheme() 
{ 
    if (Resources?.GetType() == typeof (DarkThemeResources)) 
    { 
     Resources = new LightThemeResources(); 
     return; 
    } 
    Resources = new DarkThemeResources(); 
} 

请注意,如果您已定义样式上面的代码将不起作用,因为它将覆盖您的资源字典。为此,您可以基于这两个创建自己的主题,添加您的定义样式并使用您的实现进行切换。

+0

它的工作原理。谢谢!然而,它似乎并没有改变标签页面的主题。你知道我是否错过了什么吗? –