using System;using System.Collections.Generic;using System.Configuration;using System.Data;using System.Linq;using System.Windows;using ESRI.ArcGIS.esriSystem;using System.using System.IO;using SWGW.Properties;using System.Diagnostics;namespace SWGW{ /// <summary> /// App.xaml 的交互逻辑 /// </summary> public partial class App : Application { #region License protected override void OnStartup(StartupEventArgs e) { SettingsManager.OnStartup(); base.OnStartup(e); if (!LicenseManager.InitializeLicense.InitializeEngineLicense()) { MessageBox.Show("无法初始化ArcGIS Engine的授权或地球扩展。截止..."); } } #endregion #region 私有类 static class SettingsManager { #region Class Members static Settings settings = new Settings(); const string applicationDirectory = "SWGW"; //配置文件名称 const string settingsFileName = "XXXX."; #endregion Class Members #region Constructor static SettingsManager() { EnsureDirectoryExists(); } #endregion Constructor #region Properties public static Settings ApplicationSettings { get { return settings; } } #endregion Properties #region Startup, Exit public static void OnStartup() { LoadSettings(); } public static void OnExit() { SaveSettings(); } #endregion Overrides #region Other Functions static string SettingsFileName { get { return Path.Combine( Path.Combine( Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), applicationDirectory), settingsFileName); } } static void LoadSettings() { Settings tmp; try { = new typeof(Settings)); using (Stream stream = new System.IO.FileStream(SettingsFileName, FileMode.Open, FileAccess.Read, FileShare.Read)) { tmp = (Settings)catch (Exception e) { Trace.WriteLine(e.Message); return; } settings = tmp; } static void SaveSettings() { try { = new typeof(Settings)); using (Stream stream = new System.IO.FileStream(SettingsFileName, FileMode.Create, FileAccess.Write, FileShare.None)) { catch (Exception e) { Trace.WriteLine(e.Message); } } [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1031:DoNotCatchGeneralExceptionTypes")] static void EnsureDirectoryExists() { try { DirectoryInfo info = new DirectoryInfo( Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), applicationDirectory)); if (!info.Exists) { info.Create(); } } catch (Exception ex) { Trace.WriteLine(ex.Message); } } #endregion Other Functions } #endregion }}
原标题:WPF使用ARCGIS App文件配置Cs后台文件
关键词:wpf