码迷,mamicode.com
首页 > Web开发 > 详细

Silverlight中使用配置文件的方法

时间:2014-10-29 10:25:36      阅读:176      评论:0      收藏:0      [点我收藏+]

标签:des   winform   style   io   color   ar   使用   for   sp   

Silverlight作为一个精简版的.NET framework,没有为配置文件提供相应的支持。我们无法像在winForm中那样使用System.Configuration.ConfigurationManager?来访问app.config中的配置信息。所以比较好的一个方式就是自己写一个配置文件管理类ConfigurationManager

首先,在工程中创建一个XML文件,取名为app.config,记得放在工程的根目录,方便后面设置路径。把Build Action设成Resource,随便在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 SilverlightApplication92

{

/// <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"];

Silverlight中使用配置文件的方法

标签:des   winform   style   io   color   ar   使用   for   sp   

原文地址:http://www.cnblogs.com/lyf681888/p/4058696.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!