netcoreapp 中的 Propertygrid

Propertygrid in netcoreapp

我以前可以在 Net472 中执行此操作,但是 运行 当我尝试在 Netcoreapp3.1 中执行相同操作时出现错误

enter code here
        BrowsableAttribute theDescriptorBrowsableAttribute = (BrowsableAttribute)theDescriptor.Attributes[typeof(BrowsableAttribute)];
        FieldInfo browsablility = theDescriptorBrowsableAttribute.GetType().GetField("Browsable", BindingFlags.IgnoreCase | BindingFlags.NonPublic | BindingFlags.Instance);

        // Set the Descriptor's "Browsable" Attribute
        browsablility.SetValue(theDescriptorBrowsableAttribute, isBrowsable);

可浏览性returns 无。它现在似乎是一个 OnInitOnly,无法设置。

有什么想法吗?我只想根据属性使项目可见或不可见。

我最终通过创建自定义属性并将该属性设置为 true 或 false 来解决问题。并将该自定义属性分配给 propertgird.BrowsableAttribute