Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
WPF PRISM重新加载模块不更新视图_Wpf_Prism_Data Binding - Fatal编程技术网

WPF PRISM重新加载模块不更新视图

WPF PRISM重新加载模块不更新视图,wpf,prism,data-binding,Wpf,Prism,Data Binding,我有一种情况,当用户单击按钮时,我将WPF PRISM模块加载到程序中。程序查看已加载模块上的组合框SelectedItem属性,为新模块的datacontext选择数据。然后将数据从数据库加载到新模块的datacontext中。这将在新模块的视图上设置我的数据绑定控件的属性 现在,当我再次关闭(卸载)该模块,然后从组合框中取出另一项并重新加载该模块时,该模块的上下文将填充正确的数据,但该模块中的视图不会更新 我已经在绑定到此模块上控件的属性上实现了INotifyPropertyChanged,

我有一种情况,当用户单击按钮时,我将WPF PRISM模块加载到程序中。程序查看已加载模块上的组合框SelectedItem属性,为新模块的datacontext选择数据。然后将数据从数据库加载到新模块的datacontext中。这将在新模块的视图上设置我的数据绑定控件的属性

现在,当我再次关闭(卸载)该模块,然后从组合框中取出另一项并重新加载该模块时,该模块的上下文将填充正确的数据,但该模块中的视图不会更新

我已经在绑定到此模块上控件的属性上实现了INotifyPropertyChanged,但是它们似乎不会自动更新。从第一次加载此模块开始,旧数据似乎保留在控件中

只有当我在卸载时将加载模块的datacontext设置回NULL,然后重新加载时,它才会更新模块的视图

然而,这感觉像是一个黑客,而不是真正的它应该是。有人知道为什么当重新加载后上下文中的数据发生更改时,此模块的视图似乎不会自动更新吗?

我(可能过于简单)的理解是,视图不会收到DataContext更改的通知(您只更改了DataContext上的属性,而不是DataContext上的属性)

但你也可能想看看