我正在使用Mvvm-Light创建与UIButton
扩展名为SetCommand
的绑定。我可以在ViewDidLoad(...)
中调用它,但我希望在ViewWillAppear(...)
中将其连接并在ViewWillDisappear(...)
中将其断开,就像我对其余绑定一样。因此,只有在视图可见时,所有绑定才会处于活动状态。如果我这样做,那么每次我导航回到视图时都会调用SetCommand
,RelayCommand
会多次触发,每次调用SetCommand
一次。
这可能吗?如果没有,那为什么不呢?
答案 0 :(得分:1)
为什么要断开命令?
如果UIViewController消失了,他的所有控件都无法触及和看到。所以命令只会在它再次出现时触发,我认为这已经符合您的要求。
如果您确实想要在事件ViewWillDisappear()
中删除此命令,则可以使用:
button.RemoveTarget(null, null, UIControlEvent.AllEvents);
这将删除按钮所具有的所有事件。正如您在事件SetCommand()
中再次ViewWillAppear()
时所说,RelayCommand
只会被调用一次。