要在WPF / PRISM中切换视图,我在区域使用activate / deactivate。
我有一个实现了IDataErrorInfo的基类,当我的模块加载我的视图时,验证立即发生。当我切换到另一个视图并返回时,验证消失了。没有工具提示或标记字段包含错误。唯一停止的是我对“提交”按钮的保护检查。
我想不是用户友好。
所以我目前正在寻找一种在激活后重新评估视图的方法......
[请求代码]
答案 0 :(得分:1)
您可以继续清除视图并将其再次添加到导航中的RegionManager。通常这与自定义代码有关,并且很难确定其他错误,它可能是您从单个容器中获取的内容,或者当您重新使用ViewModel时,您不再进行验证,等等
RegionManager区域中的清除所有视图然后再次激活是通常有效的强力解决方案,良好的实践解决方案介于ViewModel中处理或编写自己的RegionBehavior
并将其添加到Bootstrapper中的棱镜。
你在Prism的两个参考实现中都有RegionBehavior
个类的例子。