在我的Windows Phone 8.1 Xamarin.Forms应用程序中,我们可以使用滑动用户页面CarouselPage
。其中一个页面包含一个ListView
填满屏幕的页面,选择该页面后,用户将无法再进行滑动;该动作被列表视图解释为在其单元格之一中的轻击。我该怎么做才能使水平滑动仍会更改轮播中的页面?我仍然希望垂直滑动来滚动列表视图。
这不能在Xamarin Forms项目中直接实现,因为当有可用的列表视图时,所有的轻击,手势等都将由列表视图本身处理。只有最高布局/控件未处理的手势才会传递到其下方的控件/布局中。因此,在您的情况下,列表视图可以处理所有手势,并且任何内容都不会传递到轮播页面。
我能想到的唯一解决方法是,将InputTransparent
listview的属性设置为true
。在这种情况下,列表视图不会处理任何手势,所有内容都将传递到轮播页面。但是,由于您需要选择的项目并从列表视图中打开详细信息页面,因此您可以做的是在列表视图项目模板中有一个按钮,并处理该按钮的单击。由于button是一个单独的控件,位于listview的顶部,因此该设置InputTransparent
不会影响按钮的单击事件/命令绑定。
编辑:根据OP的经验,即使在设置InputTransparent之后,他也可以访问所选项目和listview的所有其他功能。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句