如何在 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 代码与
代码完全不同
我想在 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 代码与
代码完全不同