2016-11-21 15 views
0

in meiner Anwendung sollte ich eine Markdown Render einfügen. Ich fand diese Komponente http://thatcsharpguy.com/post/markdownview-xamarin-forms-control/ und das Rendering funktioniert gut, aber ich habe ein Problem mit dem WebView. Wenn ich zu einem WebView etwas passieren, es geht immer Fehler und der Fehler ist:Xamarin Forms WebView Fehler

Objektverweis auf eine Instanz eines Objekts eingestellt

Page1.xaml

<xml version="1.0" encoding="utf-8" ?> 
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms" 
      xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" 
      x:Class="WBE.Views.Page1"> 
    <ContentPage.Content> 
     <StackLayout> 
     <WebView x:Name="Browser" VerticalOptions="FillAndExpand"> 
     </WebView> 
     </StackLayout> 
    </ContentPage.Content> 
</ContentPage> 

Page1.xaml.cs

public Page1() 
{ 
    InitializeComponent(); 

    var htmlSource = new HtmlWebViewSource(); 
    htmlSource.Html = @"<html><body> 
         <h1>Xamarin.Forms</h1> 
         <p>Welcome to WebView.</p> 
         </body></html>"; 
    htmlSource.BaseUrl = DependencyService.Get<IBaseUrl>().Get(); 

    this.Browser.Source = htmlSource; 
} 

Ich habe meine Schnittstelle

public interface IBaseUrl { 
    string Get(); 
} 

und ihre Implementierungen für jede Plattform

Droid

[assembly: Xamarin.Forms.Dependency(typeof(IBaseUrl))] 
namespace WBE.Android 
{ 
    public class BaseUrl_Android : IBaseUrl 
    { 
     public string Get() 
     { 
      return "file:///android_asset/"; 
     } 
    } 
} 

iOS

[assembly: Xamarin.Forms.Dependency(typeof(IBaseUrl))] 
namespace WBE.iOS 
{ 
    public class BaseUrl_iOS : IBaseUrl 
    { 
     public string Get() 
     { 
      return NSBundle.MainBundle.BundlePath; 
     } 
    } 
} 

UWP

[assembly: Dependency(typeof(BaseUrl_UWP))] 
namespace WBE.UWP.Dependecies 
{ 
    public class BaseUrl_UWP : IBaseUrl 
    { 
     public string Get() 
     { 
      return "ms-appx-web:///"; 
     } 
    } 
} 

Was ist falsch? Vielen Dank im Voraus für Ihre Hilfe.

+0

Welche bestimmte Zeile wirft die Ausnahme? – Jason

+0

Immer außerhalb dieses Codes. In UWP in UnhandledException + = (Absender, e) => { if (global :: System.Diagnostics.Debugger.IsAttached) global :: System.Diagnostics.Debugger.Break(); }; – Enrico

+0

nur UWP löst eine Ausnahme aus? Oder ist das nur die Plattform, die Sie gerade testen? Was sagt die Stapelspur? – Jason

Antwort

0

danke für Ihre E-Mail. Am Ende habe ich verstanden, was das Problem war. Der Fehler kam von der Markdown-Komponente.