81 Stimmen

Wie verwendet man eine App.config-Datei in WPF-Anwendungen?

Ich habe eine App.config-Datei in meiner WPF-Anwendung erstellt:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <appsettings>
    <add key="xmlDataDirectory" value="c:\testdata"/>
  </appsettings>
</configuration>

Dann versuche ich, den Wert damit herauszulesen:

string xmlDataDirectory = ConfigurationSettings.AppSettings.Get("xmlDataDirectory");

Aber es sagt, dass dies veraltet ist und dass ich ConfigurationManager verwenden sollte, die ich nicht finden kann, auch bei der Suche in der Klassenansicht.

Weiß jemand, wie man Konfigurationsdateien wie diese in WPF verwenden?

5voto

LaoR Punkte 1179

Es gibt einen guten Artikel über Einstellungen der Anwendung über Microsoft. Demnach müssen Sie:

  • App.config-Datei manuell erstellen (über das Kontextmenü des Projekts -> Hinzufügen -> Neues Element... -> Anwendungskonfigurationsdatei). Dialog window for adding application config file
  • fügen Sie dort die erforderlichen Abschnitte hinzu (ich verwende nur Einstellungen für den Anwendungsbereich):

    <?xml version="1.0" encoding="utf-8"?>

    <configuration> <configSections> <sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <section name="DevelopmentEnvironmentManager.WPF.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> </sectionGroup> </configSections> <applicationSettings> <DevelopmentEnvironmentManager.WPF.Properties.Settings> <setting name="SqliteDbFilePath" serializeAs="String"> <value>Database.db</value> </setting> <setting name="BackgroundColor" serializeAs="String"> <value>White</value> </setting> <setting name="TextColor" serializeAs="String"> <value>Black</value> </setting> </DevelopmentEnvironmentManager.WPF.Properties.Settings> </applicationSettings> </configuration>

HINWEIS: Ersetzen Sie ' DevelopmentEnvironmentManager.WPF ' mit dem Namen Ihrer Anwendung.

Zusätzlich können Sie zu Properies des Projekts gehen und Settings.Designer hinzufügen: Project settings fügen Sie Ihrem Projekt einen praktischen Designer hinzu, so dass Sie XML nicht manuell bearbeiten müssen: Location of the file in Solution exporer Settings designer in action

Um auf die Einstellungen vom Code aus zuzugreifen, speichern und schließen Sie einfach alle Konfigurationseditoren, erstellen Sie die App und greifen Sie auf die statischen Propeties zu (vergessen Sie auch hier nicht, den App-Namen im Namespace zu ändern):

string databasePath = DevelopmentEnvironmentManager.WPF.Properties.Settings.Default.SqliteDbFilePath;

Accessing settings from code

2voto

mehran Punkte 21

Dies funktioniert auch

WpfApplication1.Properties.Settings.Default["appsetting"].ToString()

2voto

Sie können das Schema der Konfigurationsdatei wieder auf DotNetConfig.xsd über Eigenschaften des app.config Datei. Um das Ziel des benötigten Schemas zu finden, können Sie es nach dem Namen suchen oder eine WinForms-Anwendung erstellen, die Konfigurationsdatei zum Projekt hinzufügen und in den Eigenschaften den vollständigen Pfad zur Datei finden.

-2voto

RonaldPaguay Punkte 314

Ich habe eine Klassenbibliothek WPF-Projekt, und ich verwenden:

'Read Settings
Dim value as string = My.Settings.my_key
value = "new value"

'Write Settings
My.Settings.my_key = value
My.Settings.Save()

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X