2014-02-06 45 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中的所有那些触发器和方法调用...无论如何...

相关问题