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

时间:2017-04-06 16:26:03

标签: xamarin xamarin.android xamarin.forms app-config resourcedictionary

我正在尝试在理智的项目中创建包含多个资源字典的xamarin PCL项目。

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

能够使用

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

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

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

无法读取Code Behind中的XAML文件,就像我们在WPF中使用XAMLReader.Load一样

任何帮助都会非常感激。

1 个答案:

答案 0 :(得分:1)

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

因此,如果您希望获取依赖于名称的类型,您可以通过反射获取类型。

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