Веб-просмотр форм Xamarin занимает всю высоту экрана - PullRequest
0 голосов
/ 09 мая 2020

У меня есть веб-просмотр на одной из моих страниц, и я хочу добавить макет стека сверху, а затем веб-просмотр. Но Webview занимает весь экран, и стек никогда не отображается. Я хочу скрыть панель навигации по умолчанию и создать свою. Я все еще не могу протестировать сторону яблока

<?xml version="1.0" encoding="utf-8" ?>
<ContentPage  xmlns:other="clr-namespace:CustApp.CusApp.Dushan.Other"
             xmlns="http://xamarin.com/schemas/2014/forms"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             xmlns:d="http://xamarin.com/schemas/2014/forms/design"
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
             mc:Ignorable="d"
             EnableBackButtonOverride="True"
             x:Class="CustApp.Views.GeneralPayments.MotorPayments.hnb.HNBmotorPayment">
    <ContentPage.Content>

        <Grid>
            <Grid.RowDefinitions>
                <RowDefinition Height="100"/>
                <RowDefinition Height="*"/>
            </Grid.RowDefinitions>

            <StackLayout Grid.Row="0" VerticalOptions="Start" HorizontalOptions="FillAndExpand" Orientation="Horizontal" Padding="10,5,10,5">

                <Image HorizontalOptions="StartAndExpand" Source="pdfDown.png"/>
                <Label HorizontalOptions="CenterAndExpand" Text="ALL"/>
                <Image HorizontalOptions="EndAndExpand" Source="pdfDown.png"/>

            </StackLayout>

            <WebView Grid.Row="1" x:Name="webView" 
                 HorizontalOptions="CenterAndExpand" 
                 Navigating="webView_Navigating" 
                 Navigated="MywebView_Navigated"/>


        </Grid>

    </ContentPage.Content>
</ContentPage>

Код позади

protected override void OnAppearing()
{
    base.OnAppearing();
    NavigationPage.SetHasNavigationBar(this, false);
    if (isFirstRun)
    {

        jsonOutput = JsonConvert.SerializeObject(payData);

        //var htmlSource = new HtmlWebViewSource();
        var urlSource = new UrlWebViewSource();

        string url = DependencyService.Get<IBaseUrl>().Get();

        TempUrl = Path.Combine(url, "xamarinhtmlmotor.html");
        urlSource.Url = TempUrl;
        webView.Source = urlSource;

        isFirstRun = false;

        Content = webView;

    }

}

1 Ответ

1 голос
/ 11 мая 2020

Причина в том, что вы установили Content = webView в коде позади, что означает, что весь контент является веб-просмотром, и этот код в Xaml будет перезаписан.

Решение:

Удалите Content = webView; и повторите попытку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...