[已解决]在.NET MAUI中滚动有时无法在webview中实现

o0lyfsai  于 2022-12-30  发布在  .NET
关注(0)|答案(1)|浏览(484)

我在一个网页视图中显示了两个相同长度的不同文档,但是一个文档遵守了heightrequest(有点)并且可以滚动,另一个忽略了它并且不滚动。我不确定这是什么原因。
编辑:我已经创建了一个github(稍微编辑了一下)文档,你们可以克隆它。要修改合约,你可以修改htmlwebviewsource htmlhttps://github.com/MaoUyen/wtf
在我的xaml中,我的内容中有以下代码

<VerticalStackLayout>
        <HorizontalStackLayout Spacing="200"  VerticalOptions="Start" HorizontalOptions="Center">
            <Button Text="Cancel" Clicked="Cancel_Clicked" BackgroundColor="#8244E7" TextColor="White" FontSize="Large" WidthRequest="120" HorizontalOptions="Center"/>
            <Button Text="Sign" Clicked="Sign_Clicked" BackgroundColor="#8244E7" TextColor="White" FontSize="Large" WidthRequest="120" HorizontalOptions="Center"/>
        </HorizontalStackLayout>

        <WebView x:Name="Pagina"  HeightRequest="50000">
        </WebView>

在我的cs中我有下面的代码

protected override void OnNavigatedTo(NavigatedToEventArgs args)
    {
        string string1 = "long html doc i cant fit in here";
        string string2 = "long htmldoc2 that i cant fit either";
        Pagina.Source = new HtmlWebViewSource { Html = string1 };

    }

    private async void Sign_Clicked(object sender, EventArgs e)
    {
        await Shell.Current.GoToAsync("page");

    }

    private async void Cancel_Clicked(object sender, EventArgs e)
    {
        await Shell.Current.GoToAsync("page2");
    }

有没有人能帮我弄清楚为什么它不能完全显示两者的内容?
我试着添加一些参数到webview像heightrequest,我试着放入一个scrollview(它停止滚动)没有其他任何东西webview似乎工作正常但我需要有按钮才能转到签名页面...
我只想能够看到我的2页htmldoc在我的webview,然后点击签署按钮。
编辑:我已经创建了一个github(稍微编辑了一下)文档,你们可以克隆它。要修改合约,你可以修改htmlwebviewsource htmlhttps://github.com/MaoUyen/wtf
谢谢你抽出时间

kb5ga3dv

kb5ga3dv1#

好吧,所以我休息了很长时间,尝试了一些其他的东西,这似乎是工作,我不明白为什么一个垂直堆栈布局产生这么多的问题,但网格似乎解决了这个问题

<Grid>
    <Grid.RowDefinitions>
        <RowDefinition Height="auto"/>
        <RowDefinition Height="*"/>
    </Grid.RowDefinitions>
    <HorizontalStackLayout Spacing="200"  VerticalOptions="Start" HorizontalOptions="Center">
        <Button Text="Cancel" Clicked="Cancel_Clicked" BackgroundColor="#8244E7" TextColor="White" FontSize="Large" WidthRequest="120" HorizontalOptions="Center"/>
        <Button Text="Sign" Clicked="Sign_Clicked" BackgroundColor="#8244E7" TextColor="White" FontSize="Large" WidthRequest="120" HorizontalOptions="Center"/>
    </HorizontalStackLayout>

    <WebView x:Name="Pagina" Grid.Row="1">
    </WebView>
</Grid>

相关问题