如何在 xamarin 表单中创建带或不带 Web 视图的富文本框?

How to create a Rich Text box with or without web view in xamarin forms?

我想在 xamarin 表单中创建一个带有或不带有 Web 视图的富文本框。我尝试了很多示例,但 none 对我有用。例子是

https://github.com/XAM-Consulting/TEditor

这个例子的问题是,它对我来说太慢了,而且它根本没有编辑我的文本。它多次崩溃。所以我试着按照这个例子

https://forums.xamarin.com/discussion/95318/rich-text-box-in-xamarin-forms

但是 Adam.Else 的代码给了我很多错误并且无法正常工作。我已经报告了 Whosebug 中的错误。正如您在下面看到的 link-

我不知道如何解决这个问题。有什么建议吗?

我是使用 网络视图 完成的。首先,我下载了一个使用 HTML/CSS 和 JavaScript 创建的富文本框。 This is the link 用于我将在我的 xamarin 表单应用程序中用作 Web 视图的富文本框。

MainPage.xaml

<StackLayout>
        <!-- Place new controls here -->

        <WebView x:Name="MyWebView"  VerticalOptions="FillAndExpand" HorizontalOptions="FillAndExpand" />
    </StackLayout>

MainPage.xaml.cs

 public partial class MainPage : ContentPage
    {
        public MainPage()
        {
            InitializeComponent();
            MyWebView.Source = new HtmlWebViewSource();
            MyWebView.Source = DependencyService.Get<IBaseUrl>().Get();
        }
    }

我创建了一个名为 IBaseUrl 的接口。这是我的代码

public interface IBaseUrl { string Get(); }

我在 Native 中创建了一个名为 BaseUrl_Android 的 class,用于调用 Html 文件,该文件已放在 android 中的 Assets 文件夹中。这是我 BaseUrl_Android

的代码
[assembly: Dependency(typeof(BaseUrl_Android))]
namespace webviewdemo.Droid
{
    public class BaseUrl_Android : IBaseUrl
    {
        public string Get()
        {
            return "file:///android_asset/fontawesome5.html";
        }
    }
}

将您的 HTML 和 JavaScript 文件添加到资产文件夹中。如果您对在 xamarin 表单中添加和使用 html 文件有任何疑问,请参阅 this link这就是您在 Xamarin Forms 中获得超棒的富文本框所要做的全部工作

这是我的富文本框的截图

有没有办法像在 c# 中的 java 脚本那样获取文本区域的 html 代码,或者直接在 html 文件中键入新代码。 capture of the html code retrieved by the javascript function

我尝试通过在 html 文件和 C# 文件中使用以下代码的简单实现来检索 html 代码: 等待 webview.EvaluateJavaScriptAsync($"document.getElementById('theText').value;");

不幸的是,html 代码与

代码完全不同