在WPF中使用配置文件(ConfigurationManager)

App.config是一个标准的xml文件,xml文件的标记和属性是区分大小写的。开发人员可以使用配置文件来更改设置,而不必重新编译应用程序。配置文件的根节点是configuration。

  • 我只用过appSetting,它是.Net预定义好的配置节
  • 另外还有一个ConnectionString是连接数据库的预定义好的配置节。

在项目进行编译后,在 bin/Debuge 文件下,将出现两个配置文件 ( 以本项目为例 ) ,一个名为“xxxx.EXE.config ”,另一个名为“ xxxx.vshost.exe.config ”。第一个文件为项目实际使用的配置文件,在程序运行中所做的更改都将被保存于此;第二个文件为原代码“ app.config ”的同步文件,在程序运行中不会发生更改。

我们尝试做一个小例子,可以在不启动程序的情况下,用配置文件更改,按钮的大小。

那么如果说,修改好了App.config。程序该如何读取App.config文件,然后发生相应的改变呢?不用担心,.Net为我们提供了操作
App.config的类——ConfigurationManager
configurationManager

在App.config文件中添加代码

<? xml version =" 1.0 " encoding =" utf-8 " ?>
< configuration>
  < startup>
    < supportedRuntime version = "v4.0 " sku = ".NETFramework,Version=v4.5.2 " />
  </ startup>
  < appSettings >
    < add key = "height " value = "600 " />
    < add key = "width " value = "900 " />
  </ appSettings>
</ configuration>

在MainWindow的.cs文件中添加如下代码

Window.Height = int.Parse( ConfigurationManager .AppSettings["height" ]);
            Window.Width = int .Parse(ConfigurationManager .AppSettings[ "width"]);

MainWindow的.xaml文件中为MainWindow添加name属性

Name ="Window"

再把App.config文件设置为如果较新则复制。
这样就大功告成了。

WPF中,配置文件通常是用来存储应用程序的一些常量值、连接字符串或其他需要持久化的数据,以便跨程序实例共享。WPF使用.NET Framework提供的`System.Configuration`命名空间中的类来操作配置文件。以下是基本步骤: 1. **创建配置文件**:在项目中右键单击,选择“添加”->“新建项”,然后选择“XML文件”并命名为`app.config`或`.config`(通常放在项目的根目录下)。这是默认的配置文件位置。 2. **编辑XML**:打开`app.config`文件,在其中添加 `<configuration>` 根元素,接着添加所需的`<section>`标签来定义特定的配置部分,例如 `<appSettings>` 或 `<connectionStrings>`。每个部分都有相应的元素来存储具体的键值对。 ```xml <appSettings> <add key="MySetting" value="Default Value"/> </appSettings> ``` 3. **访问配置**:在C#代码中,使用` ConfigurationManager`类读取配置信息。例如: ```csharp string myValue = ConfigurationManager.AppSettings["MySetting"]; ``` 4. **使用`Xaml`和`Binding`**:如果想在XAML中显示配置值,可以使用`Binding`来自动更新。例如: ```xaml <TextBlock Text="{Binding Source={StaticResource AppConfig}, Path=MySetting}" /> ``` 需要在`App.xaml`中添加`Resources`来引用配置: ```xaml <Application x:Class="YourNamespace.App" ...> <Application.Resources> <ResourceDictionary> <ResourceDictionary.MergedDictionaries> <ResourceDictionary Source="app.xaml.cs"/> </ResourceDictionary.MergedDictionaries> </ResourceDictionary> </Application.Resources> </Application> ``` 5. **编译时或运行时获取配置**:`ConfigurationManager`可以在编译时(如属性设置)或运行时(如代码中获取)提供配置。 记得在处理敏感信息时使用`<connectionStrings>`标签的`providerName`属性指定加密支持。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值