Прежде всего, у вас есть хорошие вопросы о WebView
:-D.
Я отладил его, и кажется, что, хотя Source
установлен в URI, внутренне WebView
все еще указывает на страницу about:blank
, и обновление происходит слишком рано, поэтому навигация к вашему URI отменяется, и вместо этого обновляется пустая страница.
Я получил следующий код:
public MainPage()
{
this.InitializeComponent();
webview.NavigationStarting += Webview_NavigationStarting;
}
private void Webview_NavigationStarting(WebView sender, WebViewNavigationStartingEventArgs args)
{
Debug.WriteLine("Navigating " + args.Uri);
}
private void SetNextSource()
{
var uri = new Uri("https://www.google.com");
Debug.WriteLine("Setting " + uri);
webview.Source = uri;
webview.Refresh();
Debug.WriteLine("Set " + webview.Source);
}
А вот и вывод:
![Sample run](https://i.stack.imgur.com/i7zx7.png)
Как видно из вывода, обновление полностью игнорировало свойство Source
и, скорее всего,использовал какой-то внутренний URI.
Таким образом, чтобы решить вашу проблему, вы можете просто подключить событие NavigationCompleted
и выполнить вместо него Refresh()
- к этому времени WebView
будет фактическизавершите загрузку страницы и даже внутренне будут указывать на вновь установленный URI.