在 Xamarin Forms 后面的代码中通过字符串读取 XAML

Reading XAML via string in Code behind Xamarin Forms

我正在尝试在正常项目中创建具有多个资源字典的 xamarin PCL 项目。

所有资源字典在不同屏幕的项目 XAML 文件中定义了相同的键(这些键被引用为动态资源),但每个资源字典中的值不同(目的是为特定的客户要求提供单独的资源字典)。

我能够使用

在App.Xaml的代码后面加载资源字典

Current.Resources = new ResourceDictionary(); Resources.MergedWith = typeof(销售额); // Sales.xaml 是一个资源字典。

现在我正在尝试从 App.config 传递资源字典的名称(使用 PCLAppConfig Nuget 包)并获取 XAML 文件的名称及其路径。

无法像我们在 WPF 中使用 XAMLReader.Load

那样读取代码隐藏中的 XAML 文件

任何帮助将不胜感激。

每个 ResourceDictionary 都有自己的类型,例如销量。

因此,如果你想根据名称获取类型,你可以通过反射获取类型。

var nameFromConfig = "Sale"; // Change to get from your config file
var type = Type.GetType(nameFromConfig);
Current.Resources = new ResourceDictionary(); 
Resources.MergedWith =  type;