我正在完全使用 Blazor 构建我的应用程序。一切都发生在我的 BlazorWebView 内。是否可以使用类似的东西RefreshView
在 .razor 文件中?我知道我可以实例化一个ContentView
从代码后面但是我可以将其实现到页面中吗?
我知道这是一个老问题,但如果有人觉得它有用的话,这是我的解决方案。如果有更简单的方法可以做到这一点,请随时发表评论。
在 MainPage.xaml 中,我用 RefreshView 包围 BlazorWebView:
<RefreshView x:Name="RefreshView" Refreshing="RefreshView_Refreshing">
<BlazorWebView x:Name="blazorWebView" HostPage="wwwroot/index.html">
<BlazorWebView.RootComponents>
<RootComponent Selector="#app" ComponentType="{x:Type local:Main}" />
</BlazorWebView.RootComponents>
</BlazorWebView>
</RefreshView>
在事件处理程序中,我尝试调用所有剃刀页面的基类:
void RefreshView_Refreshing(object sender, EventArgs e)
{
if (RefreshablePageBase.Current?.NavigationManager != null)
{
var navigationManager = RefreshablePageBase.Current.NavigationManager;
navigationManager.NavigateTo(navigationManager.Uri, true, true);
RefreshView.IsRefreshing = false;
}
}
我尝试对所有剃刀页面使用这个基类:
using Microsoft.AspNetCore.Components;
namespace GotchaFitness.Razor.Pages;
public abstract class RefreshablePageBase : ComponentBase
{
public static RefreshablePageBase Current;
[Inject]
public NavigationManager NavigationManager { get; set; }
protected RefreshablePageBase()
{
Current = this;
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)