我有一个配置对象,其中包含要填充到UI的值。此对象可序列化为XML文件,因此用户可以动态保存和加载GUI的当前状态。对象本身是我为XAML窗口添加到代码隐藏的属性。
如果此窗口中的每个UI控件都绑定到配置对象中的属性,我是否可以在运行时将该对象替换为配置XML文件的反序列化副本,并期望UI控件自动附加到新的对象
或者,我是否可以在Window上进行涓滴调用以通知所有子控件更新其在XAML中指定的绑定?
或者我是否必须单独转到每个项目并每次都重置源项目?
答案 0 :(得分:1)
这取决于UI元素如何绑定到配置对象。如果它们通过包含该对象的单独属性(例如绑定到Configuration.ConfigParam
,其中Configuration是DataContext对象的属性),那么只要Configuration为DependencyProperty,就可以将新值设置为Configuration。或者包含Configuration属性的类为Configuration属性实现INotifyPropertyChanged。