在使用C#的WPF应用程序中,我希望将CheckBox
的默认值绑定到应用程序设置的值(类型为bool
的Properties.Settings.Default.OpenAutomatically
),以便在加载表单时,CheckBox
自动设置为从绑定的应用程序设置中读取的值。
其次,当CheckBox
的值发生变化时(通过用户点击它),bool
应用程序设置应该保持同步(如果选中则为true,如果未选中则为false)。
这似乎有些什么。NET应该为您提供开箱即用的功能,而无需编写代码来在用户操作UI时保持Setting同步。
提前感谢您的帮助。
您可以在XAML中引用命名空间(YourNamespace.Properties.Settings)并绑定到Settings成员,但不会有更改通知(因为这些设置不实现任何类型的更改通知),因此如果您直接绑定到它,您将获得存储在Settings中的值,但您将无法通过简单地检查或取消选中复选框。。。尽管我不能100%确定使用触发器和交互/交互来调用Settings.Default.Save()
方法也不可能实现更新。。。
我认为您必须使用ViewModel
,将CheckBox
绑定到该ViewModel中的属性,当属性更改(或单击"保存"按钮)时,从ViewModel调用设置的Settings.Default.Save()
方法。。。我就是这么做的,但我从来没有尝试过在视图中使用触发器来调用Save()
方法,因为我通常有很多设置,即使这是可能的,我也不希望在XAML中调用所有这些触发器和方法。。。