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

.NET MAUI中如何通过后台代码刷新WebView控件?

在.NET MAUI中通过后台代码刷新WebView(模拟F5效果)

可以直接通过WebView控件提供的API实现后台刷新,效果和按下F5按键完全一致。

基础实现方式

.NET MAUI的WebView控件内置了ReloadAsync()方法,调用它就能触发页面刷新,和手动按F5的行为逻辑完全相同。示例代码:

// 假设已通过x:Name="MyWebView"获取到WebView实例
await MyWebView.ReloadAsync();

MVVM架构下的实现

如果采用MVVM模式,为避免直接引用View控件实例,可以通过消息传递实现:

  1. 在ViewModel中定义刷新命令并发送消息:
using CommunityToolkit.Mvvm.ComponentModel;
using CommunityToolkit.Mvvm.Input;
using CommunityToolkit.Mvvm.Messaging;

public partial class YourViewModel : ObservableObject
{
    [RelayCommand]
    private async Task RefreshWebView()
    {
        WeakReferenceMessenger.Default.Send(new RefreshWebViewMessage());
    }
}

// 定义消息类
public class RefreshWebViewMessage { }
  1. 在页面的代码后台监听消息并执行刷新:
using CommunityToolkit.Mvvm.Messaging;

public partial class YourPage : ContentPage
{
    public YourPage()
    {
        InitializeComponent();
        WeakReferenceMessenger.Default.Register<RefreshWebViewMessage>(this, async (sender, args) =>
        {
            await MyWebView.ReloadAsync();
        });
    }
}

调用ReloadAsync()后,WebView会重新加载当前页面的所有资源、执行页面脚本,完全模拟按下F5的刷新效果。

内容的提问来源于stack exchange,提问作者shalom

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 05:15:35