Xamarin:ScrollViewer中的元素被截断/未呈现

z9zf31ra  于 2022-12-07  发布在  其他
关注(0)|答案(1)|浏览(79)

我有以下情况。

<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 在一个额外的网格中来修复这个问题。不知道为什么它能工作,但是它能工作...

6gpjuf90

6gpjuf901#

正如Rich提到的,将滚动视图 Package 在网格中似乎也为我解决了这个问题,所以我将其作为答案发布

<Grid> 
    <ScrollView>
    ...
    </ScrollView>
</Grid>

相关问题