我为Xamarin应用程序(Xamarin Forms v3.5)创建了2个主题。当应用启动时,我合并第一个(在App.xaml中):
<ResourceDictionary>
<ResourceDictionary Source="Styles/DarkResourceDictionary.xaml"/>
</ResourceDictionary>
我这样更改App.xaml.cs中的主题:
Current.Resources.MergedDictionaries.Clear();
var resourceDictionary = new ResourceDictionary();
resourceDictionary.SetAndLoadSource(uri, uri.ToString(), this.GetType().GetTypeInfo().Assembly, null);
resourceDictionary.Source = uri;
Current.Resources.MergedDictionaries.Add(resourceDictionary);
这可以100%起作用,但是即使我像这样使用动态资源,也要等到我重新打开表单后,资源字典中的样式才会应用:
<Grid Style="{DynamicResource DisplayBackground}">
我确定我可以忽略一些小东西。有任何想法吗?谢谢一堆