代码之家  ›  专栏  ›  技术社区  ›  Mark Silver

在Xamarin上使用Mvvm指示灯设置命令后,是否可以断开该命令的连接。网间网操作系统

  •  1
  • Mark Silver  · 技术社区  · 6 年前

    我正在使用Mvvm Light创建到 UIButton 使用 SetCommand ViewDidLoad(...) 但我想把它连接起来 ViewWillAppear(...) 并将其断开 ViewWillDisappear(...) 就像我对其他绑定所做的一样。因此,所有绑定仅在视图可见时才处于活动状态。如果我现在这样做的话 SetCommand设置命令 每次我导航回视图时都会调用 RelayCommand 多次触发,每次调用 SetCommand设置命令 .

    这可能吗?如果没有,为什么不呢?

    1 回复  |  直到 6 年前
        1
  •  1
  •   Ax1le    6 年前

    为什么要断开命令连接?

    如果UIViewController消失,则无法触摸和看到其所有控件。所以这个命令只有在它再次出现时才会开火,我想这已经符合你的要求了。

    如果确实要在事件中删除此命令 ViewWillDisappear() 您可以使用:

    button.RemoveTarget(null, null, UIControlEvent.AllEvents);
    

    这将删除按钮的所有事件。正如你所说 SetCommand() 再次在事件中 ViewWillAppear() 这个 RelayCommand 将只调用一次。