首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有没有与WinForm的PropertyGrid相当的Blazor?

有没有与WinForm的PropertyGrid相当的Blazor?
EN

Stack Overflow用户
提问于 2020-02-04 13:01:37
回答 1查看 601关注 0票数 3

我有一个早就应该升级的WinForms应用程序的UI,我打算让它成为Blazor应用程序。遗留应用程序配置是使用WinForm的PropertGrid完成的。是否有等效的Blazor组件或最佳实践来将设置类转换为Blazor窗体?

例如:

代码语言:javascript
复制
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中的每个属性。

这是使用验证的冗长形式的方法:

代码语言:javascript
复制
<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

EN

回答 1

Stack Overflow用户

发布于 2020-12-31 07:08:29

WinForms的PropertyGrid相当高级,也支持编辑。Blazor目前还没有正式的组件。

下面的GIF展示了我在使用中制作的一个组件。目前支持检查嵌套结构对象的基本场景。您还不能使用组件编辑属性。

更新:属性网格现在更加精简,并添加了编辑器(由于编辑功能本身尚未添加,它们将变为只读。屏幕截图:)

我已经为Blazor做了一个简单的PropertyGrid组件,网址如下:

git克隆

Razor代码库都有一个GitHub组件库项目和一个使用该组件示例Blazor Server项目(带有客户端),因此它应该很容易测试和改进。我可能会在某个时候向此控件添加编辑功能。

Simple Blazor Property Grid component @ Github

下面的屏幕截图显示您可以检查嵌套级别的对象。

Github存储库还显示了开始创建属性网格控件所需的代码。我可能会为它添加编辑功能,你可以分叉它,因为它只是一个演示项目,我今天花了几个小时在上面。免责声明:请不要在生产环境中使用此组件,这只是一个小小的业余爱好小项目。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60050886

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档