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