如何创建自定义WebView控件Xamarin窗体

如何创建自定义WebView控件Xamarin窗体,xamarin,xamarin.forms,webview,Xamarin,Xamarin.forms,Webview,我正在尝试为webview创建一个自定义控件,我正在尝试在webview中获取一个复选框原因:-我们有一堆文本要显示,除非用户到达滚动的末尾,否则他无法移动到下一页,并且在滚动的末尾有一个复选框,用户必须选中复选框,然后才能处理。在这里,我尝试将复选框和webview放在stacklayout中,但问题是webview有自己的滚动条,并且当用户尝试滚动webview滚动条时,stacklayout滚动条不起作用。当我尝试用后退按钮关闭webview页面时,webview会关闭,而不是页面 我不确

我正在尝试为webview创建一个自定义控件,我正在尝试在webview中获取一个复选框原因:-我们有一堆文本要显示,除非用户到达滚动的末尾,否则他无法移动到下一页,并且在滚动的末尾有一个复选框,用户必须选中复选框,然后才能处理。在这里,我尝试将复选框和webview放在stacklayout中,但问题是webview有自己的滚动条,并且当用户尝试滚动webview滚动条时,stacklayout滚动条不起作用。当我尝试用后退按钮关闭webview页面时,webview会关闭,而不是页面

我不确定我应该在这里采用什么方法

我正在从webapi获取html数据

任何有解决办法的人都会很受欢迎

这是我编写的自定义渲染器,但这里缺少的是如何在其中添加另一个xamarin控件

public class CustomPdfViewRenderer : WebViewRenderer
{

    public CustomPdfViewRenderer(Context context) : base(context)
    {

    }

    protected override void OnElementChanged(ElementChangedEventArgs<WebView> e)
    {
        base.OnElementChanged(e);
        if (Control != null)
        {
            Control.Settings.BuiltInZoomControls = true;
            Control.Settings.DisplayZoomControls = false;

            Control.Settings.LoadWithOverviewMode = true;
            Control.Settings.UseWideViewPort = true;
        }       
    }
}
公共类CustomPdfViewRenderer:WebViewRenderer
{
公共CustomPdfviewrender(上下文):基础(上下文)
{
}
受保护的覆盖无效OnElementChanged(ElementChangedEventArgs e)
{
基础。一个要素发生变化(e);
if(控件!=null)
{
Control.Settings.BuiltInZoomControls=true;
Control.Settings.displayZoomControl=false;
Control.Settings.LoadWithOverviewMode=true;
Control.Settings.UseWideViewPort=true;
}       
}
}

您可以尝试以下方法:

  • 将复选框添加到HTML
  • 当用户选中复选框调用某个JavaScript函数时
  • 调用JavaScript函数时,调用C#函数(Xamarin),这将使用户能够处理到下一页(或其他Xamarin端的内容)

  • 下面是如何从JavaScript调用C#函数:

    HybridWebView似乎是您的最佳解决方案!我们可以从webapi加载html吗,因为这是m被卡住的地方是的,但是当选中Web侧的复选框时,您需要HybridWebView在Xamarin侧调用C#函数a我已经用html编写了jquery函数