C# 表单转盘页面滑动事件页面更改

C# 表单转盘页面滑动事件页面更改,c#,xamarin.forms,carousel,C#,Xamarin.forms,Carousel,我正在使用Xamarin表单(2.5.0)附带的Carousel页面,希望能够检测页面何时将要更改 每个页面都有一些验证,如果验证失败,我想阻止用户移动到下一个页面。目前我能看到的唯一事件是PageChanged,这是我触发验证的地方,但是用户必须向后滑动才能看到错误消息 有没有办法钩住本机刷卡事件 该应用程序目前的目标是iOS,但最终需要支持Android。我知道有点晚了,但可能其他人也会问,所以这里有一个想法: 正如你写的,在 protected override void OnCurren

我正在使用Xamarin表单(2.5.0)附带的Carousel页面,希望能够检测页面何时将要更改

每个页面都有一些验证,如果验证失败,我想阻止用户移动到下一个页面。目前我能看到的唯一事件是PageChanged,这是我触发验证的地方,但是用户必须向后滑动才能看到错误消息

有没有办法钩住本机刷卡事件


该应用程序目前的目标是iOS,但最终需要支持Android。

我知道有点晚了,但可能其他人也会问,所以这里有一个想法: 正如你写的,在

protected override void OnCurrentPageChanged()    
您可以了解用户何时刷到下一页。现在,如果您对上一页进行验证,您可以返回上一页,以防出现错误

int index = Children.IndexOf(CurrentPage);
this.CurrentPage = this.Children[index-1];
这不会阻止用户离开页面(因为没有“OnSwipingStart”或else),但用户将看到错误,而无需手动返回

如果您愿意使用与CarousePage不同的控件:
有一种方法可以进入原生的Xamarin形式。它有一个滚动事件,在第一次刷卡百分比时已经触发,因此您可以在那里执行操作。

我知道有点晚了,但可能其他人也会问,所以这里有一个想法: 正如你写的,在

protected override void OnCurrentPageChanged()    
您可以了解用户何时刷到下一页。现在,如果您对上一页进行验证,您可以返回上一页,以防出现错误

int index = Children.IndexOf(CurrentPage);
this.CurrentPage = this.Children[index-1];
这不会阻止用户离开页面(因为没有“OnSwipingStart”或else),但用户将看到错误,而无需手动返回

如果您愿意使用与CarousePage不同的控件:
有一种方法可以进入原生的Xamarin形式。它有一个滚动事件,在第一次刷卡百分比时已经触发,因此您可以在那里执行操作。

感谢您的响应-这或多或少是我实现的解决方案。如果在页面更改之前发生事件,这将是一个更好的用户体验…我已经用CarouselView的链接更新了我的答案。我不确定你是否被卡在旋转木马页面上,或者你是否想看一看不同的控件。我不仅仅局限于旋转木马页面-旋转木马视图看起来非常有趣-将看到它如何与我的应用程序一起工作!ItemSource属性已从IList更改为IEnumerable,这意味着无法在XAML中设置ItemSource。我的所有视图目前都是使用XAML定义的,它们需要迁移到c#感谢您的响应——这或多或少是我实现的解决方案。如果在页面更改之前发生事件,这将是一个更好的用户体验…我已经用CarouselView的链接更新了我的答案。我不确定你是否被卡在旋转木马页面上,或者你是否想看一看不同的控件。我不仅仅局限于旋转木马页面-旋转木马视图看起来非常有趣-将看到它如何与我的应用程序一起工作!ItemSource属性已从IList更改为IEnumerable,这意味着无法在XAML中设置ItemSource。我的所有视图当前都是使用XAML定义的,它们需要迁移到c#