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

How to stop a toggle event from triggering on navigation

所以我的 Xamarin.Forms 应用程序使用了 Prism,而且它运行良好。 我已经创建了一个设置页面,使用开关来做出某些选择,因此我在代码背后有一个 Toggle 事件处理程序,它也可以工作,做它应该做的事情。 我现在遇到的问题是尝试阻止切换方法在从页面导航时触发,它会在导航时自动执行。 我通过停止 ondisappearing 方法中的方法并执行

找到了针对之前 prism 版本 7.0.0.396 的解决方案
protected override void OnDisappearing()
        {
            base.OnDisappearing();
        switch.Toggled -= switch_OnToggled;
    }

这工作正常,因为 ondiappearing 方法在导航触发之前触发和停止切换事件,但它不适用于较新的棱镜版本,因为在较新的版本中,切换方法在 ondisappearing 之前触发方法可以阻止它们。

如有任何关于如何解决此问题的建议,我们将不胜感激。

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