我正在完全使用 Blazor 构建我的应用程序。一切都发生在我的 BlazorWebView 内。是否可以RefreshView在 .razor 文件中使用类似内容?我知道我可以ContentView从代码后面实例化 a 但我可以将它实现到页面中吗?
Mar*_*ing 10
我知道这是一个老问题,但如果有人觉得它有用的话,这是我的解决方案。如果有更简单的方法可以做到这一点,请随时发表评论。
在 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>
Run Code Online (Sandbox Code Playgroud)
在事件处理程序中,我尝试调用所有剃刀页面的基类:
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;
}
}
Run Code Online (Sandbox Code Playgroud)
我尝试对所有剃刀页面使用这个基类:
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;
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1050 次 |
| 最近记录: |