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

use*_*452 3 richtextbox xamarin xamarin.forms

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

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

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

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

但是 Adam.Else 的代码给了我很多错误,并且无法正常工作。我已经报告了 stackoverflow 中的错误。正如你在下面看到的这个链接——

未处理的异常:Xamarin.Forms.Xaml.XamlParseException:位置 12:21。未找到密钥 FromRTFConverter 的静态资源发生

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

use*_*452 5

我是用web view做到的。首先,我下载了一个使用 HTML/CSS 和 JavaScript 创建的富文本框。这是富文本框的链接,我将在我的 xamarin 表单应用程序中将其用作 Web 视图。

主页.xaml

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

        <WebView x:Name="MyWebView"  VerticalOptions="FillAndExpand" HorizontalOptions="FillAndExpand" />
    </StackLayout>
Run Code Online (Sandbox Code Playgroud)

主页.xaml.cs

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

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

public interface IBaseUrl { string Get(); }
Run Code Online (Sandbox Code Playgroud)

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

[assembly: Dependency(typeof(BaseUrl_Android))]
namespace webviewdemo.Droid
{
    public class BaseUrl_Android : IBaseUrl
    {
        public string Get()
        {
            return "file:///android_asset/fontawesome5.html";
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

在 assets 文件夹中添加您的 HTML 和 JavaScript 文件。如果您对以 xamarin 形式添加和使用 html 文件有任何疑问,请参阅此链接这就是在 Xamarin Forms 中获得一个很棒的富文本框所需要做的一切

这是我的富文本框的屏幕截图