C# 如何在xamarin应用程序中显示HTML代码

C# 如何在xamarin应用程序中显示HTML代码,c#,html,xamarin,C#,Html,Xamarin,将本地HTML代码直接显示到my page.xaml.cs文件中的最佳方式是什么?我想将html代码直接写入.cs文件。谢谢 我将在page.xaml.cs中使用它 var browser = new WebView(); var htmlSource = new HtmlWebViewSource(); htmlSource.Html = @"<html><body> <h1>Xamarin.Forms</h1> <p>Wel

将本地HTML代码直接显示到my page.xaml.cs文件中的最佳方式是什么?我想将html代码直接写入.cs文件。谢谢

我将在page.xaml.cs中使用它

var browser = new WebView();
var htmlSource = new HtmlWebViewSource();
htmlSource.Html = @"<html><body>
  <h1>Xamarin.Forms</h1>
  <p>Welcome to WebView.</p>
  </body></html>";
browser.Source = htmlSource;
var browser=new WebView();
var htmlSource=新的HtmlWebViewSource();
htmlSource.Html=@”
Xamarin.表格
欢迎来到WebView

"; browser.Source=htmlSource;
但在xaml文件中,如何显示此html并将其放入堆栈布局中呢?

您需要HtmlLabel

在共享项目中:

   public class HtmlLabel : Label
    {

    }
机器人:

[assembly: ExportRenderer(typeof(HtmlLabel), typeof(HtmlLabelRenderer))]
namespace MedicinalPlants.Droid
{
    public class HtmlLabelRenderer : LabelRenderer
    {
        protected override void OnElementChanged(ElementChangedEventArgs<Label> e)
        {
            base.OnElementChanged(e);

            if (e.NewElement is HtmlLabel element)
                Control.SetText(Html.FromHtml(element.Text), TextView.BufferType.Spannable);
        }
    }
}
[程序集:ExportRenderer(typeof(HtmlLabel),typeof(HtmlLabelRenderer))]
名称空间MedicinalPlants.Droid
{
公共类HtmlLabelRenderer:LabelRenderer
{
受保护的覆盖无效OnElementChanged(ElementChangedEventArgs e)
{
基础。一个要素发生变化(e);
if(例如,NewElement是HtmlLabel元素)
SetText(Html.FromHtml(element.Text)、TextView.BufferType.Spanable);
}
}
}
ios:

[程序集:ExportRenderer(typeof(HtmlLabel),typeof(HtmlLabelRenderer))]
命名空间XamarinForms.iOS.CustomRenderer
{
公共类HtmlLabelRenderer:LabelRenderer
{
受保护的覆盖无效OnElementChanged(ElementChangedEventArgs e)
{
基础。一个要素发生变化(e);
if(例如,NewElement是HtmlLabel元素)
{
var nsAttr=新的NSAttributedStringDocumentAttributes
{
DocumentType=NSDocumentType.HTML
};
var html=NSData.FromString(element.Text,NSStringEncoding.Unicode);
var nsError=新的nsError();
Control.AttributedText=新的NSAttributedString(html、nsAttr、ref nsError);
}
}
}
}
使用:

HtmlLabel htmlLabel = new HtmlLabel();
htmlLabel.Text = "<p>Bilimsel adı : Salvia officinalis</p>";
htmlabel htmlabel=新的htmlabel();
htmlabel.Text=“Bilimsel adı:鼠尾草

”;
但是.cs文件只是一个文本文件,编译器将其转换为程序类。所以你唯一能做的就是使用多行comment@DudeWhoWantsToLearn我想在页面中显示HTML代码。xaml@MassimoAusiello使用网络视图:@dudewhotstolearn hi更新了我的答案这是否回答了你的问题?
HtmlLabel htmlLabel = new HtmlLabel();
htmlLabel.Text = "<p>Bilimsel adı : Salvia officinalis</p>";