在 Xamarin.Forms Xaml 项目中读取 app.config 文件

虽然每个移动平台都提供了自己的设置管理 API,但没有内置的方法可以从一个好的 .net 风格的 app.config xml 文件中读取设置。这是由于一系列充分的理由,特别是 .net 框架配置管理 api 在重量级方面,并且每个平台都有自己的文件系统 api。

因此,我们构建了一个简单的 PCLAppConfig 库,非常好的 nuget 打包供你立即使用。

该库使用了可爱的 PCLStorage

此示例假定你正在开发 Xamarin.Forms Xaml 项目,你需要从共享视图模型中访问设置。

  1. 在每个平台项目上初始化 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);
  1. 将 app.config 文件添加到共享 PCL 项目,并添加 appSettings 条目,就像处理任何 app.config 文件一样
<configuration>
    <appSettings>
        <add key="config.text" value="hello from app.settings!" />
    </appSettings>
</configuration>
  1. 将此 PCL app.config 文件添加所有平台项目上的链接文件。对于 android,确保将构建操作设置为 AndroidAsset ,对于 UWP,将构建操作设置为 Content

  2. 访问你的设置:ConfigurationManager.AppSettings["config.text"];