如何将 Razor 组件库中的点击事件捕获到我的 Maui 项目?

问题描述 投票:0回答:1

我的所有组件都在我的共享 RCL 库中。 我的共享组件库页面中有一个按钮

当我单击此按钮时,我想显示一个仅存在于我的 MAUI 项目中的页面。

我该怎么做?

<MudButton OnClick="@(NavigateToEdit(Profile.UserId))">
<MudText>Edit</MudText>
</MudButton>

这是我的MAUI项目中的方法

<SharedPage/>

public void NavigateToEdit(string UserId)
{      
  MAUIProject () => MauiONLYPage(UserId)
}
c# razor blazor maui blazor-server-side
1个回答
0
投票

您可以使用 DI 服务来定义每个应用程序的配置。

public interface IUIConfigurationService<TRecord>
{
    public Type? EditForm {  get; set; }
    public string? EditFormUrl { get; set; }
}

然后在Maui项目中你使用这个服务:

public class MauiUIConfigurationService: IUIConfigurationService<WeaatherForcast>
{
    public Type EditForm { get; set; } = typeof(Home);
    public string? EditFormUrl { get; set; } = null;
}

在网络项目中:

public class WebUIConfigurationService : IUIConfigurationService<WeaatherForcast>
{
    public Type EditForm { get; set; } = null;
    public string? EditFormUrl { get; set; } = "/weatherforecast/Editor";
}

您的

NavigateToEdit
方法将存在于共享库表单中,并根据注入的服务做出导航决策。

© www.soinside.com 2019 - 2024. All rights reserved.