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()); |
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步