C# 使用Xamarin.Forms在移动操作系统上创建具有web界面的应用程序

C# 使用Xamarin.Forms在移动操作系统上创建具有web界面的应用程序,c#,webview,xamarin.ios,cross-platform,xamarin.forms,C#,Webview,Xamarin.ios,Cross Platform,Xamarin.forms,是否可以使用Xamarin.Forms创建具有基于Web的界面的跨平台移动应用程序 其想法是使用C#Xamarin代码和基于web的UI创建一个移动应用程序 我知道可以使用Android WebView从javascript调用Java代码。问题是,有什么常用的技术可以绑定Xamarin.Forms WebView(或其他web视图控件)和C#代码,用于跨平台开发(Android、IOS和Windows)?是的,有。为webview创建自定义呈现程序,向导航事件处理程序添加函数,然后在该事件中检

是否可以使用Xamarin.Forms创建具有基于Web的界面的跨平台移动应用程序

其想法是使用C#Xamarin代码和基于web的UI创建一个移动应用程序


我知道可以使用Android WebView从javascript调用Java代码。问题是,有什么常用的技术可以绑定Xamarin.Forms WebView(或其他web视图控件)和C#代码,用于跨平台开发(Android、IOS和Windows)?

是的,有。为webview创建自定义呈现程序,向导航事件处理程序添加函数,然后在该事件中检查指示器的url:

public class CustomWebView : WebView
{
    public CustomWebView()
    {
        Navigating += OnShouldLoad;
    }

    private void OnShouldLoad(object sender, WebNavigatingEventArgs e)
    {
        if (!e.Url.StartsWith("runcode") || !e.Url.Contains(":"))
            return;
        var urlInfo = e.Url.Split(':');
        switch (urlInfo[1])
        {

这假设javascript将以“runcode:Command”的形式发送url,其中Command表示您要执行的操作。

是的,有。为webview创建自定义呈现程序,向导航事件处理程序添加函数,然后在该事件中检查指示器的url:

public class CustomWebView : WebView
{
    public CustomWebView()
    {
        Navigating += OnShouldLoad;
    }

    private void OnShouldLoad(object sender, WebNavigatingEventArgs e)
    {
        if (!e.Url.StartsWith("runcode") || !e.Url.Contains(":"))
            return;
        var urlInfo = e.Url.Split(':');
        switch (urlInfo[1])
        {

这假设javascript将以“runcode:Command”的形式发送一个url,其中Command表示您要执行的操作。

最终获得了构建WebView的说明,并有可能调用C#函数

第一个常见的解释是。
这是针对此类网络视图的。

最终获得了构建网络视图的说明,可以调用C#函数

第一个常见的解释是。
这是针对此类网络视图的。

这实际上取决于您需要访问多少无法在PCL中直接使用的特定于平台的功能——如果很多,那么您可能会经常使用DependencyService。我认为,在这里,更好地阐述一下你试图对你的项目做些什么会有所帮助。我没有理解评论的要点。直截了当地说:我有一个带有javascript的UI-HTML页面,我想直接从javascript调用C#(Xamarin跨平台)代码(就像只在android上从javascript调用java代码一样)。所以问题是——有可能吗?这真的取决于你需要访问多少不能直接在PCL中使用的平台特定功能——如果很多,那么你可能会经常使用DependencyService。我认为,在这里,更好地阐述一下你试图对你的项目做些什么会有所帮助。我没有理解评论的要点。直截了当地说:我有一个带有javascript的UI-HTML页面,我想直接从javascript调用C#(Xamarin跨平台)代码(就像只在android上从javascript调用java代码一样)。所以问题是——可能吗?