如何使用PropertyGrid允许在不使用setter的情况下编辑属性?

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

默认情况下,PropertyGrid仅允许使用公共设置器编辑属性。我想允许在不使用setter的情况下编辑属性。

例如:

class A {

   public int X;

   public int Y {get;}
}

在上面的示例中,只有X是可编辑的。将显示Y,但显示为灰色。如何使Y可编辑?

注意:建立一个私人支持字段就可以了。例如:

class A {

   public int X;

   private int y;
   public int Y {get => y; }
}
c# .net winforms propertygrid
1个回答
0
投票

如何使用PropertyGrid允许在没有设置器的情况下编辑属性?

通常,您不设置属性,除非它具有设置器或支持字段,对于PropertyGrid,它需要settablegetable物业

或者您可以通过创建一个wrapper类来over-bake,该类具有您所有的[[properties,并将reference带到您的类中,并通过一个backing propertyreflection

老实说,只需添加一个二传手并完成它。
© www.soinside.com 2019 - 2024. All rights reserved.