你的位置:首页 > ASP.net教程

[ASP.net教程]WPF使用ARCGIS App文件配置Cs后台文件


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  }}