我有一个带有StackLayout的ContentView,其中多个子项的大小与屏幕的整个宽度相同。换句话说,如果屏幕宽度为320且我有五个孩子,则内部StackLayout的大小调整为1600.
在这个ContentView中,我有Next和Previous按钮,当点击它们时,动画内部StackLayout的TranslateX属性。基本上,我是通过在ContentView中翻译StackLayout来创建旋转木马。我选择这条路线是因为当我修改视图的布局时(通过隐藏标签等),我使用ScrollView和自定义渲染器进行布局问题。
然而,我遇到了麻烦。设置TranslateX属性后显示的内容不会收到任何点击事件。我相信我可能不得不重置一些可点击的区域,但我甚至不确定从哪里开始。有没有人有任何建议?
答案 0 :(得分:0)
我在Xamarin的论坛上发布了同样的问题,有人在那里回答。对于任何寻找的人,答案都在这里:https://forums.xamarin.com/discussion/comment/142914/#Comment_142914
如果该链接由于某种原因在将来某个时候停止工作,相关的答案是:
命中测试是基于布局确定的控件的实际帧完成的,但是在布局后进行转换。因此,命中测试不会考虑翻译。如果您希望视图可以触摸,那么您应该直接更新其布局而不是使用翻译。