Получавам HTML код на външна страница от моя Backend като низ
и показването му в уеб изглед в приложение за формуляри на Xamarin
Сега бих искал да го стилизирам
Чудех се кой е най-ефективният начин да направя това?
и възможно ли е да го стилизирате по същия начин, по който Xamarin страница би била стилизирана с XAML и споделени ресурси?
досега се опитах да препратя CSS файл в споделените ресурси, което разбрах, че не работи...
htmlData = "<link rel=\"stylesheet\" type=\"text/css\"href=\"Assets\"Styles\"style.css\" />" + htmlData;
htmlSource.Html = htmlData;
myWebView.Source = htmlSource;
Актуализация
В крайна сметка използвах персонализиран рендер за Webview
който работеше за Android, но не и за IOS
ето моята IOS реализация на рендера
[assembly: ExportRenderer(typeof(CustomWebView), typeof(CustomWebViewRenderer))]
namespace XXX.iOS.Renderers
{
public class CustomWebViewRenderer : WkWebViewRenderer
{
WKUserContentController userController;
public CustomWebViewRenderer() : this(new WKWebViewConfiguration())
{
}
public CustomWebViewRenderer(WKWebViewConfiguration config) : base(config)
{
userController = config.UserContentController;
}
protected override void OnElementChanged(VisualElementChangedEventArgs e)
{
base.OnElementChanged(e);
var customWebView = e.NewElement as CustomWebView;
if (e.NewElement != null)
{
string htmldata = customWebView.HTMLData;
htmldata = "<link rel=\"stylesheet\" type=\"text/css\" href=\"StyleSheet.css\" />" + htmldata;
WkWebViewRenderer wkWebViewRenderer = new WkWebViewRenderer();
NSData data = NSData.FromString(htmldata);
wkWebViewRenderer.LoadData(data,"text/html", "UTF-8",new NSUrl(""));
}
}
}
}
Забележка: Нямам представа какво се случва тук с кода на IOS, защото никога не съм кодирал на родния език