WPF - 从应用程序配置文件中获取值

7

如何从App.Config获取值。

代码:

 <configuration>
  <appSettings>
   <add key="ShowRoomCode" value="1000"/>
   <add key="FolderPath" value="D:\\Images\\Book\\"/>
  </appSettings>
 </configuration>

 string imageFolderPath = ConfigurationManager.AppSettings["FolderPath"];

但是它返回了空值。配置文件在同一个项目中。
2个回答

19

如果您展开Visual Studio的属性部分并双击设置部分,则可以添加自定义设置,这些设置最终会在配置文件中呈现如下:

<configuration>
<configSections>
    <sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
        <section name="WpfApplication1.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
    </sectionGroup>
</configSections>
<userSettings>
    <WpfApplication1.Properties.Settings>
        <setting name="FilePath" serializeAs="String">
            <value>Thing</value>
        </setting>
    </WpfApplication1.Properties.Settings>
</userSettings>
</configuration>

然后你可以在你的代码中这样做:

string thing = Properties.Settings.Default.FilePath;

这很好,因为它也为你提供了类型安全。


3
解决方案资源管理器 -> MyProject -> 属性文件夹 -> Settings.Settings(VS2012) - teynon
以上对我不起作用,作为替代,我使用了以下代码:YourAppName.Properties.Settings.Default.NameOfYourSetting.ToString(); - Daniel Krzyczkowski

1
你写的代码应该可以工作 - 确保你没有改变配置文件的“BuildAction”。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接