gpt4 book ai didi

c# - 从不同的项目读取 Properties.Settings.Default

转载 作者:太空宇宙 更新时间:2023-11-03 10:31:55 24 4
gpt4 key购买 nike

在我的 WPF MVVM 应用程序中,我将 ModelViewViewModel 作为单独的项目。现在,在我的 View 应用程序中,我在 Settings.settings 文件中定义了用户设置,我可以通过以下方式访问它们:

Properties.Settings.Default.MySettingName

在我的 Tool.exe.xml 中,我可以确认设置在那里:

<userSettings>
<Tool.Properties.Settings>
<setting name="MySettingName" serializeAs="String">
<value>False</value>
</setting>
</Tool.Properties.Settings>
</userSettings>

现在的问题是如何从我的 ViewModel 项目访问这些设置?很明显,如果我执行 Properties.Settings.Default.*,它将指向它自己的设置。

到目前为止,我尝试了以下两种方式:

Configuration configFile = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
KeyValueConfigurationCollection settings = configFile.AppSettings.Settings;

var keys = ConfigurationManager.AppSettings.AllKeys;

但是它们都总是返回 0 个实体。

我也知道我可以创建一个 ViewModel 并从 View 绑定(bind)设置,但是对于这种特殊情况,创建一个新的 ViewModel 只是为了访问设置听起来有点有点矫枉过正。

感谢您的帮助!

最佳答案

感谢 https://stackoverflow.com/a/632161/1729349

以下是我如何能够访问设置的值:

Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);

// find section
ClientSettingsSection configSection = config.SectionGroups[@"userSettings"].Sections["Tool.Properties.Settings"] as ClientSettingsSection;

var setting = configSection.Settings.Get("MySettingName").Value.ValueXml.InnerText;

关于c# - 从不同的项目读取 Properties.Settings.Default,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29773186/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com