2014-02-06 95 views
0

在使用C#的WPF應用程序中,我想將CheckBox的默認值綁定到應用程序設置(Properties.Settings.Default.OpenAutomatically類型爲bool)的值,以便當表單加載,CheckBox自動設置爲從綁定應用程序設置中讀取的值。其次,當CheckBox的值發生變化時(通過用戶點擊它),bool應用程序設置應保持同步(如果選中,則爲true;如果未選中,則爲false)。將c#WPF複選框綁定到應用程序設置和更新設置

這看起來像.NET應該給你開箱即用,而不必編寫代碼來保持設置在用戶操作UI時同步。

在此先感謝您的幫助。

+0

http://stackoverflow.com/questions/845030/bind-to-a-value-defined-in-the-設置 – kenny

+0

@kenny - 你引用的問題是關於將一​​個ListBox綁定到一個設置,這不是一個布爾值。如果我將一個CheckBox綁定到bool,設置會自動更新爲CheckBox的值更改? – DiscDev

+0

我認爲你可以綁定到布爾類似的,但我沒有嘗試過。也許你的問題是你需要在其他地方保存設置()。 – kenny

回答

0

您可以在您的XAML中引用命名空間(YourNamespace.Properties.Settings)並綁定到設置成員,但不會有更改通知(因爲設置沒有實現任何類型的更改通知),所以如果綁定到它直接地,您將獲得存儲在設置中的值,但您將無法通過簡單地選中或取消選中複選框來更新設置...儘管我不能100%確定也無法實現更新使用觸發器和互動/交互調用Settings.Default.Save()方法...

我認爲你將不得不使用一個ViewModel,綁定你的CheckBox在該視圖模型一個屬性,當屬性的變化(或保存butto n被點擊)從您的ViewModel調用Settings.Default.Save()設置方法...這就是我的做法,但是我再也沒有嘗試在視圖中使用觸發器調用Save()方法,因爲我通常有很多設置,即使這是可能的我不希望我的XAML中的所有那些觸發器和方法調用...無論如何...

相關問題