私はjsonを使用してwebserviceで作業し、html形式のテキストを取得します。テキストにハイパーリンクとHTMLタグから見つけられるその他のプロパティ(太字など)を含めたい。
WebViewソースでHTML文字列をバインドしようとしましたが、WebViewは常に空白です。このコードを使用します
var browser = new WebView();
var htmlSource = new HTMLWebViewSource();
htmlSource.Html = MyItem.Article;
browser.Source = htmlSource;
MyItem.Article文字列は次のようになります
ListView osの中にあるようなLabelの中にこのようなものが欲しいです。
これどうやってするの?
これはあなたのために働くはずです
string htmlText = MyItem.Article.ToString().Replace(@"\", string.Empty);
var browser = new WebView ();
var html = new HtmlWebViewSource {
Html = htmlText
};
browser.Source = html;
Xamarin.Forms.HtmlWebViewSource.HTML
は純粋なHTMLを想定しています。これを使用して、この記事の助けを借りてXamarin.Formsユーザーコントロールを作成できます http://blog.falafel.com/creating-reusable-xaml-user-controls-xamarin-forms/ Cheers。 。!
XAMLでは、次のようなことができます。
<WebView>
<WebView.Source>
<HtmlWebViewSource Html="{Binding HtmlText}"/>
</WebView.Source>
</WebView>
WebView
内にない場合は、Grid
の高さと幅も指定する必要があります。
ちなみに、私は Forms9Patchライブラリ に機能を追加しました。HTMLを介してテキストをフォーマットできるラベルとボタンを作成します。例えば:
new Forms9Patch.Label { HtmlText = "plain <b><i>Bold+Italic</i></b> plain"}
...は、テキストが文字列の中央で太字の斜体にフォーマットされたラベルを提供します。
また、余談ですが、プラットフォーム固有の作業を行わなくても、PCLプロジェクトに埋め込まれたリソースであるカスタムフォントを使用できます。そして、これらのフォントをHTLM経由で使用できます<font>
タグまたはHTML font-family
属性。
デモアプリ のスクリーンショットをいくつか次に示します。