Согласно вашему описанию, вы имеете в виду, что вы изменяете свойство Uri, но BindableProperty UriProperty в PdfWebview не изменяется.
Если да, добавьте OnElementPropertyChanged метод в Rebder, например, так: :
protected override void OnElementPropertyChanged(object sender, PropertyChangedEventArgs e)
{
base.OnElementPropertyChanged(sender, e);
PdfWebView pdfWebView = sender as PdfWebView;
if (e.PropertyName == "Uri")
{
Control.LoadUrl(string.Format("file:///android_asset/pdfjs/web/viewer.html?file={0}", string.Format("file:///android_asset/Content/{0}", WebUtility.UrlEncode(pdfWebView.Uri))));
}
}
Полный код рендера веб-просмотра:
public class PdfWebViewRenderer: WebViewRenderer
{
public PdfWebViewRenderer(Context context) : base(context)
{
}
protected override void OnElementChanged(ElementChangedEventArgs<WebView> e)
{
base.OnElementChanged(e);
if (e.NewElement != null)
{
var pdfView = Element as PdfWebView;
Control.Settings.AllowUniversalAccessFromFileURLs = true;
Control.LoadUrl(string.Format("file:///android_asset/pdfjs/web/viewer.html?file={0}", string.Format("file:///android_asset/Content/{0}", WebUtility.UrlEncode(pdfView.Uri))));
}
}
protected override void OnElementPropertyChanged(object sender, PropertyChangedEventArgs e)
{
base.OnElementPropertyChanged(sender, e);
PdfWebView pdfWebView = sender as PdfWebView;
if (e.PropertyName == "Uri")
{
Control.LoadUrl(string.Format("file:///android_asset/pdfjs/web/viewer.html?file={0}", string.Format("file:///android_asset/Content/{0}", WebUtility.UrlEncode(pdfWebView.Uri))));
}
}
}
Скриншот: