我有一个项目,它从数据库中获取数据并将该数据绑定到 xaml 中的某些元素。我添加了一个从数据库中获取新数据并希望刷新 xaml 中的数据绑定元素的按钮。
现在,我知道这样做的正确方法是在数据类中实现 INotifyPropertyChanged 事件,但我想避免这种情况,因为有很多属性。我发现只需调用'this.DataContext = data;' 在我从数据库中检索到新数据后,会更新 xaml 中的绑定。
谁能告诉我这种方法有什么问题?
谢谢!
我有一个项目,它从数据库中获取数据并将该数据绑定到 xaml 中的某些元素。我添加了一个从数据库中获取新数据并希望刷新 xaml 中的数据绑定元素的按钮。
现在,我知道这样做的正确方法是在数据类中实现 INotifyPropertyChanged 事件,但我想避免这种情况,因为有很多属性。我发现只需调用'this.DataContext = data;' 在我从数据库中检索到新数据后,会更新 xaml 中的绑定。
谁能告诉我这种方法有什么问题?
谢谢!
如果您不使用INotifyPropertyChanged
接口,则不允许绑定机制工作,因为它不会知道您的数据的任何更改。
数据绑定是 WPF 中最强大的工具之一,如果您不使用它,您将不得不自己编写模型和 UI 之间数据更改的传播,就像在Winforms
....
如果很难为您的每个类的每个属性编写实现,那么您可以创建一个代码片段.. 像 prop/propdp
很简单,如果你不想实现INotifyPropertyChanged
接口,那就不要使用 WPF。WPF 通常是一种冗长的语言……我花了一段时间才习惯这一点。虽然有像Converter
sStyle
和 s这样的机制Attached Properties
使我们能够重用代码,但您经常会发现自己正在编写您以前编写的代码。只是习惯它,或改变语言。
总而言之,如果不实现INotifyPropertyChanged
接口,就无法在 WPF 中编写有效的应用程序。