在 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;
我正在尝试在正常项目中创建具有多个资源字典的 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;