我有以下情况。
<ScrollView BackgroundColor="DeepPink">
...
<Grid HorizontalOptions="FillAndExpand" VerticalOptions="FillAndExpand">
<ContentView Opacity="{Binding ViewProvider.IsCancelling, Converter={StaticResource BoolToOpacityConverter}}" Content="{Binding ViewProvider.CurrentView}"/>
</Grid>
...
</ScrollView>
内容视图包含多个元素,其中一个是具有BindableLayout的StackLayout。ItemsSource
<StackLayout BindableLayout.ItemsSource="{Binding Rings}" Margin="12,0,0,0">
<BindableLayout.ItemTemplate>
<DataTemplate>
...
</DataTemplate>
</BindableLayout.ItemTemplate>
</StackLayout>
当视图打开时,通过不同的操作添加环。一旦发生这种情况,ScrollViewer的高度会增加,但下面的部分会被剪切掉或只是没有渲染。(它剪切了环使用的高度-我猜是因为网格没有调整大小?但为什么呢?)
我尝试在添加环后调用InvalidateMeasure()和ForceLayout(),但没有任何更改。有什么想法吗?
编辑
按照评论中的要求,我在github上上传了一个简单的演示来重现这个问题。https://github.com/Valronicon/ScrollViewerIssue
谢谢你,谢谢你
编辑2
我可以通过将ScrollViewer Package 在一个额外的网格中来修复这个问题。不知道为什么它能工作,但是它能工作...
1条答案
按热度按时间6gpjuf901#
正如Rich提到的,将滚动视图 Package 在网格中似乎也为我解决了这个问题,所以我将其作为答案发布