You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在C#中为WPF应用的配置文件新增自定义配置段

问题解答

WPF本身不限制配置文件新增配置段的操作,你找不到AddSection/SetSection相关方法,是因为.NET 配置API的操作需要先打开可写的配置实例,不能直接对默认静态的ConfigurationManager执行写入操作。

具体实现步骤

  • 首先确保你的项目已经添加了System.Configuration程序集引用(默认WPF项目不会自动引入该程序集)
  • 按照以下流程执行配置段新增/修改操作:
// 1. 打开当前应用的可写配置实例
Configuration appConfig = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);

// 2. 实例化你要新增的自定义配置段(也可以是AppSettingsSection等内置段类型)
YourCustomSection newSection = new YourCustomSection();
// 给配置段赋值对应的表格行数据
newSection.Field1 = "xxx";
newSection.Field2 = "xxx";

// 3. 新增配置段
appConfig.Sections.Add("自定义段的唯一名称", newSection);

// 4. 保存修改
appConfig.Save(ConfigurationSaveMode.Modified);

// 5. 刷新配置缓存,保证后续调用GetSection能拿到最新数据
ConfigurationManager.RefreshSection("自定义段的唯一名称");

常见注意事项

  • 调试阶段在Visual Studio中运行程序时,修改的是输出目录下的[你的程序名].exe.config文件,而非项目根目录的App.config,每次重新生成项目时VS会用App.config覆盖输出目录的配置文件,调试时的修改不会保留到源码里。
  • 默认情况下,普通用户没有权限修改Program Files目录下的程序配置文件,如果你的软件需要安装到系统盘,建议将这类动态配置存储到用户目录下的应用专属路径,或者使用ConfigurationUserLevel.PerUserRoaming打开用户级别的配置文件进行操作。
  • 如果表格行数较多,不建议每行单独加一个配置段,可以自定义包含集合属性的配置段,把所有表格行存到同一个段的集合里,结构更易维护。

内容的提问来源于stack exchange,提问作者Batman

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 01:54:02