2016-11-21 6 views
0

в моей заявке Я должен вставить Markdown рендеринга. Я нашел этот компонент http://thatcsharpguy.com/post/markdownview-xamarin-forms-control/, и рендер работает нормально, но у меня есть проблема с WebView. Если я перехожу к WebView что-то, он всегда идет по ошибке, и ошибка:Xamarin Forms Ошибка WebView

Ссылка на объект не указывает на экземпляр объекта

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; 
} 

Я создал интерфейс

public interface IBaseUrl { 
    string Get(); 
} 

и его реализации для каждой платформы

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:///"; 
     } 
    } 
} 

Что не так? Спасибо заранее за вашу помощь.

+0

Какая конкретная строка бросает исключение? – Jason

+0

Всегда вне этого кода. В UWP в UnhandledException + = (sender, e) => { if (global :: System.Diagnostics.Debugger.IsAttached) global :: System.Diagnostics.Debugger.Break(); }; – Enrico

+0

только UWP выбрасывает исключение? Или это просто платформа, которую вы сейчас тестируете? Что говорит трассировка стека? – Jason

ответ

0

благодарит за письмо. В конце я понял, в чем проблема. Ошибка возникла из компонента Markdown.

 Смежные вопросы

  • Нет связанных вопросов^_^