【发布时间】:2020-05-19 21:32:06
【问题描述】:
我对 WinForms 应用程序的 UI 进行了早该升级,并将使其成为 Blazor 应用程序。旧版应用程序配置是使用 WinForm 的 PropertGrid 进行的。是否有将设置类转换为 Blazor 表单的等效 Blazor 组件或最佳实践?
例如
class MySettings{
public string Name {get;set;}
public int Age {get;set;}
public string Address {get;set;}
// 1000 other settings of int, string, enums etc
}
有没有一种方法可以将 MySettings 呈现为一个漂亮的 Blazor 表单,或者一个 Blazor 组件,无需在 Razor 页面中设计表单即可使用,其中数千个输入绑定到 MySettings 中的每个属性。
这是使用验证的长格式方法:
<EditForm Model="@_mySettingsModel" OnValidSubmit="HandleValidSubmit">
<DataAnnotationsValidator />
<ValidationSummary />
<InputText id="name" @bind-Value="_mySettingsModel.Name" />
<InputText id="age" @bind-Value="_mySettingsModel.Age" />
<InputText id="address" @bind-Value="_mySettingsModel.Address" />
<button type="submit">Submit</button>
</EditForm>
@code {
private MySettings _mySettingsModel = new MySettings();
private void HandleValidSubmit()
{
Console.WriteLine("Saving Settings...");
}
}
参考:https://docs.microsoft.com/en-us/aspnet/core/blazor/forms-validation?view=aspnetcore-3.1
【问题讨论】:
-
不,这不存在。而且它不在路线图上。
-
我认为您必须使用反射构建自己的。
-
我用反射构建了一个。但是也应该添加编辑功能。至少它现在支持嵌套层次的对象。
标签: blazor