在 Xamarin.Forms Xaml 项目中读取 app.config 文件
虽然每个移动平台都提供了自己的设置管理 API,但没有内置的方法可以从一个好的 .net 风格的 app.config xml 文件中读取设置。这是由于一系列充分的理由,特别是 .net 框架配置管理 api 在重量级方面,并且每个平台都有自己的文件系统 api。
因此,我们构建了一个简单的 PCLAppConfig 库,非常好的 nuget 打包供你立即使用。
该库使用了可爱的 PCLStorage 库
此示例假定你正在开发 Xamarin.Forms Xaml 项目,你需要从共享视图模型中访问设置。
- 在每个平台项目上初始化 ConfigurationManager.AppSettings,紧跟在’Xamarin.Forms.Forms.Init’语句之后,如下所示:
iOS(AppDelegate.cs)
global::Xamarin.Forms.Forms.Init();
ConfigurationManager.Initialise(PCLAppConfig.FileSystemStream.PortableStream.Current);
LoadApplication(new App());
Android(MainActivity.cs)
global::Xamarin.Forms.Forms.Init(this, bundle);
ConfigurationManager.Initialise(PCLAppConfig.FileSystemStream.PortableStream.Current);
LoadApplication(new App());
UWP / Windows 8.1 / WP 8.1(App.xaml.cs)
Xamarin.Forms.Forms.Init(e);
ConfigurationManager.Initialise(PCLAppConfig.FileSystemStream.PortableStream.Current);
- 将 app.config 文件添加到共享 PCL 项目,并添加 appSettings 条目,就像处理任何 app.config 文件一样
<configuration>
<appSettings>
<add key="config.text" value="hello from app.settings!" />
</appSettings>
</configuration>
-
将此 PCL app.config 文件添加为所有平台项目上的链接文件。对于 android,确保将构建操作设置为
AndroidAsset
,对于 UWP,将构建操作设置为Content
-
访问你的设置:
ConfigurationManager.AppSettings["config.text"];