WPF重置DataContext以刷新绑定

时间:2013-11-06 09:24:53

标签: wpf xaml data-binding

我有一个从数据库获取数据的项目,并将该数据绑定到xaml中的某些元素。我添加了一个从数据库中获取新数据的按钮,并希望刷新xaml中的数据绑定元素。

现在,我知道这样做的正确方法是在数据类中实现INotifyPropertyChanged事件,但我想避免这种情况,因为有这么多属性。我想通了简单地调用'this.DataContext = data;'在我从数据库中检索新数据后,更新xaml中的绑定。

有谁能告诉我这种方法有什么问题?

谢谢!

2 个答案:

答案 0 :(得分:0)

很简单,如果您不想实现INotifyPropertyChanged接口,那么请不要使用WPF。 WPF通常是一种冗长的语言......我花了一段时间才习惯这个。虽然有Converter s,StyleAttached Properties这样的机制可以让我们重用代码,但您经常会发现自己编写的代码是您之前编写的。只是习惯它,或改变语言。

总而言之,如果不实现INotifyPropertyChanged接口,就无法在WPF中编写有效的应用程序。

答案 1 :(得分:0)

如果您不使用INotifyPropertyChanged界面,则不允许绑定机制工作,因为它不知道您的数据有任何变化。
数据绑定是WPF中最强大的工具之一,如果你不使用它,你必须自己编写模型和UI之间的数据变化传播,就像在Winforms ....中一样。 / p>

如果为你的每个类的每个属性编写实现太难了你可以创建一个代码片段..就像prop / propdp