【发布时间】:2019-01-30 17:55:52
【问题描述】:
在我的内容页面中,我有这样的 XAML:
<TableView HasUnevenRows="True" Intent="Form">
<TableRoot>
<TableSection>
<!-- Height is set intentionally for demo purposes -->
<ViewCell Height="110">
<ScrollView>
<Editor>
<Editor.Text>
1
2
3
4
5
6
7
8
9
</Editor.Text>
</Editor>
</ScrollView>
</ViewCell>
</TableSection>
</TableRoot>
</TableView>
问题是:编辑器中的文本不滚动,即我可以看到一些文本行(6 7 8 9),但不能滚动到其他行。它在 iOS 上运行良好。删除 ScrollView 没有帮助。将 HeightRequest 设置为 ScrollView 或 Editor - 没有帮助。
在 Table 和 ViewCell 之外带有长文本的编辑器工作得很好。
我做错了吗?是否有解决方案,或者这种行为缺乏设计?
附:我想在这里使用 StackLayout,但由于本示例之外的许多原因,我必须使用带有单元格的表格。
【问题讨论】:
-
Xamarin.Forms 版本:3.4.0.1009999
-
我认为您的 TableView(可滚动)必须拦截任何滚动事件。所以你的单元格的滚动视图永远不会收到滚动信息。我不知道你的限制是什么,但一般来说,在可滚动内容中包含可滚动内容在移动设备上并不是一个好主意。你不使用 stacklayout 的原因是什么?
-
这只是一个设计糟糕的应用程序,它使用了应有堆栈的表格,而我无法更改它。但是上面提到的示例适用于 iOS。我认为这是 Xamarin 中的一个错误。逻辑上应该是这样的:当编辑器处于焦点时,滚动事件由编辑器处理。
标签: xamarin.forms xamarin.android