如何阻止切换事件触发导航

时间:2019-07-10 20:06:27

标签: xamarin.forms prism

所以我的Xamarin.Forms应用程序使用Prism,并且大多数情况下都可以正常工作。 我已经创建了一个设置页面,其中使用了Switches做出了某些选择,因此我在代码中有一个Toggle事件处理程序,在其后面也可以正常工作,完成了预期的工作。 我现在遇到的问题是尝试从页面导航时停止触发切换方法,该方法在导航时会自动执行。 通过在ondisappearing方法中停止该方法并执行

,我找到了一个针对先前的棱镜版本7.0.0.396的解决方案。
protected override void OnDisappearing()
        {
            base.OnDisappearing();
        switch.Toggled -= switch_OnToggled;
    }

这很好用,因为ondiappearing方法会在触发导航之前触发并停止切换事件,但不适用于较新的棱柱版本,因为在较新的棱镜版本中,切换方法会在ondisappearing方法可以触发之前触发阻止他们。

任何有关解决此问题的建议将不胜感激。

1 个答案:

答案 0 :(得分:0)

因此我设法通过使用Xamarin.Forms.BehaviorsPack并使用EventToCommandBehavior将事件绑定到ViewModel中的命令来解决该问题。