You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在运行时修改.NET MAUI WebView的URL源?

问题分析与解决方案

你的代码没有效果的核心原因是:你在按钮点击事件中创建了一个新的WebView实例,而不是修改XAML里已经渲染在界面上的那个WebView控件。这个新创建的实例从未被添加到布局中,所以界面上的原有WebView完全不受影响。

正确的实现方式

直接修改XAML中已存在的WebView控件的Source属性即可,无需重新创建实例:

void OnReloadWebView(object sender, EventArgs e)
{  
   try
   {
       // 直接修改已有的WebView控件的Source,无需新建实例
       WebView.Source = new UrlWebViewSource
       {
           Url = "https://blog.xamarin.com/"
       };
       // 设置Source后WebView会自动加载,Reload可以省略,除非你需要强制刷新当前URL
       // WebView.Reload();
   }
   catch (Exception ex)
   {
       Debug.WriteLine($"加载错误:{ex.Message}");
   }
}

额外说明

  • 当你为WebView.Source赋值新的UrlWebViewSource时,控件会自动开始加载新的URL,不需要额外调用Reload()方法;Reload()主要用于刷新当前已加载的URL。
  • 如果你需要在加载过程中更新进度条,可以利用Navigating和Navigated事件来控制progress控件的进度值,比如在Navigating时设置进度为0.5,Navigated时设置为1.0。

内容的提问来源于stack exchange,提问作者Francisco José Goñi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 06:25:31