我希望在此https://stackoverflow.com/a/60359084/6558112上展开更多帖子>
我不完全了解使用Prism时在视图和视图模型初始化期间发生的事件顺序。丹很好地解释了这一点,但我仍然缺少一些东西。
我的情况很简单,我在导航参数中传递了一个ID,该视图模型将使用该ID从服务中查找某些数据,这全部在Initialize方法中完成。但是,问题在于视图属性在调用Initialize方法之前,这意味着我还没有要显示的数据,这给我带来了一些额外的工作。
Dan对事件的顺序进行了很好的解释
这是我需要帮助的地方
我假设Dan所说的“导航服务将为您设置”的第3步意味着这时已设置视图的BindingContext?那么,BindingContext是在ctor之后但在Initialize方法之前设置的?这意味着在Initialize方法中设置的所有属性将始终触发两次,一次是在设置绑定时,一次是通过Initialize或Autoinitialize?
在我的情况下,这不是理想的,因为所有属性都必须在Initialize方法中引发,并且我必须处理所有空情况。
我真的不想通过退出自动装配来手动完成所有操作,但是我没有看到其他选择,我是否缺少某些东西?任何人都知道是否可以修改Prism来将BindingContext的设置延迟到调用Initialize方法之后?]
谢谢。
我希望在此处继续扩展https://stackoverflow.com/a/60359084/6558112,我不完全了解在...
[Priism提供的Initialize方法: