silveright使用配置文件-转

  首先,在工程中创建一个XML文件,可以取名为app.config。
  
  记得放在工程的根目录,方便后面设置路径。把Build Action设成Resource,关于Build Action的说明可以在这里找到。
  
  随便在app.config中写点东西
  
<?xml version="1.0" encoding="utf-8" ?>
  
<configuration>
  
  <appSettings>
  
    <add key="name" value="srzhz"/>
  
    <add key="university" value="Tsinghua University"/>
  
  </appSettings>
  
</configuration>
  
  然后要开始创建这个ConfigurationManager类了。
  
  首先在工程上按右键点击Add Reference,之后选择System.Xml.Linq。(如果没加的话无法引入命名空间System.Xml.Linq)
  
  然后在ConfigurationManager类中写入如下代码
  
using System;
 using System.Windows;
 using System.Collections.Generic;
 using System.Windows.Resources;
 using System.IO;
 using System.Xml.Linq;
 using System.Reflection;
  
namespace Model
 {
     /// <summary>
  
    /// Access appSettings from a configuration file
  
    /// </summary>
  
    /// <remarks>Your appConfig file must be in the root of your applcation</remarks>
  
    public static class ConfigurationManager
     {
         static ConfigurationManager()
         {
             AppSettings = new Dictionary<string, string>();
             ReadSettings();
         }
  
        public static Dictionary<string, string> AppSettings { get; set; }
         private static void ReadSettings()
         {
             // Get the name of the executing assemby - we are going to be looking in the root folder for
             // a file called app.config
             string assemblyName = Assembly.GetExecutingAssembly().FullName;
             assemblyName = assemblyName.Substring(0, assemblyName.IndexOf(','));
             string url = String.Format("{0};component/app.config", assemblyName);
             StreamResourceInfo configFile = Application.GetResourceStream(new Uri(url, UriKind.Relative));
             if (configFile != null && configFile.Stream != null)
             {
                 Stream stream = configFile.Stream;
                 XDocument document = XDocument.Load(stream);
                 foreach (XElement element in document.Descendants("appSettings").DescendantNodes())
                 {
                     AppSettings.Add(element.Attribute("key").Value, element.Attribute("value").Value);
                 }
             }
         }
     }
 }
  
  之后你就可以通过调用这个类来获得配置信息了。例如:
  
String name = ConfigurationManager.AppSettings["name"];

  

Build Action为Content的文件读取方式为:

//Uri uri = new Uri("/SilverlightApplication7;component/remark.txt", UriKind.Relative);<br>            Uri uri = new Uri("app.config", UriKind.Relative);
    StreamResourceInfo sri = Application.GetResourceStream(uri);
    System.IO.StreamReader reader = new System.IO.StreamReader(sri.Stream);
    MessageBox.Show(reader.ReadToEnd());

  

posted on   chuncn  阅读(428)  评论(0编辑  收藏  举报

导航

< 2011年12月 >
27 28 29 30 1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
1 2 3 4 5 6 7
点击右上角即可分享
微信分享提示