簡體   English   中英

從其他項目中讀取Properties.Settings.Default

[英]Read Properties.Settings.Default from a different project

在我的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綁定設置,但是對於這種特殊情況,創建一個僅用於訪問設置的新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;

AppSettings適用於“默認” appSettings配置部分。 您需要打開自己的配置部分。 嘗試這個:

ConfigurationManager.GetSection("userSettings");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM