您如何获得 MergedDictionary xamarin 表单?

问题描述

嗨,我需要在运行时修改一个已合并的字典。 我有

    <ResourceDictionary>
        <ResourceDictionary.MergedDictionaries>
            <themes:LightTheme />
            <themes:DarkTheme />
            <globalStyles:Labels />
            <globalStyles:Controls />
        </ResourceDictionary.MergedDictionaries>
    </ResourceDictionary>

App.Xaml(我尝试了以下但总是为空)但在调试中我可以看到那些字典..

  1. Application.Current.Resources.TryGetValue("LightTheme",out var lightTheme);
  2. var theStyle= Xamarin.Forms.Application.Current.Resources.MergedDictionaries.SingleOrDefault(x => x.ContainsKey("DarkTheme"));

我错过了什么?

谢谢

解决方法

刚刚发现如何做到这一点

Application.Current.Resources.MergedDictionaries.OfType().FirstOrDefault();