Zoeken…


App.config-bestand lezen in een Xamarin.Forms Xaml-project

Hoewel elk mobiel platform zijn eigen API's voor instellingenbeheer biedt, zijn er geen ingebouwde manieren om instellingen te lezen uit een goed oud .net-stijl app.config xml-bestand; Dit is te wijten aan een aantal goede redenen, met name de API voor het beheer van .net-frameworks aan de zware kant, en elk platform heeft een eigen API voor het bestandssysteem.

Daarom hebben we een eenvoudige PCLAppConfig- bibliotheek gebouwd, mooi nuget verpakt voor uw onmiddellijke consumptie.

Deze bibliotheek maakt gebruik van de mooie PCLStorage- bibliotheek

In dit voorbeeld wordt ervan uitgegaan dat u een Xamarin.Forms Xaml-project ontwikkelt, waarbij u toegang moet krijgen tot de instellingen van uw gedeelde viewmodel.

  1. Initialiseer ConfigurationManager.AppSettings op elk van uw platformproject, net na de instructie 'Xamarin.Forms.Forms.Init', zoals hieronder:

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. Voeg een app.config-bestand toe aan uw gedeelde PCL-project en voeg uw appSettings-vermeldingen toe, net als elk app.config-bestand
<configuration>
    <appSettings>
        <add key="config.text" value="hello from app.settings!" />
    </appSettings>
</configuration>
  1. Voeg dit PCL app.config-bestand toe als een gekoppeld bestand aan al uw platformprojecten. Zorg ervoor dat voor Android de build-actie is ingesteld op 'AndroidAsset' , voor UWP de build-actie op 'Content'

  2. Toegang tot uw instelling: ConfigurationManager.AppSettings["config.text"];



Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow