我有一个.NET PropertyGrid控件,它显示某个类的属性。我想更改某些属性的颜色或字体或背景颜色(它们与其他显示的属性看起来不同)。我可以编写自定义编辑器,但我想知道:
答案 0 :(得分:8)
没有办法。确定项目绘制方式的类是PropertyGridView。源代码很有趣,几乎成了它:
private /*protected virtual*/ PropertyGridView CreateGridView(IServiceProvider sp) {
return new PropertyGridView(sp, this);
}
不,看起来在最后一分钟他们决定反对使方法可以覆盖。 PropertyGridView类也标记为内部。替换所有这些代码(它有 lot )并不是一个现实的选择。
只有将[Editor]属性应用于要编辑的类中的属性,才能为内置类型创建自己的UITypeEditor。这不是一般解决方案。考虑创建自己的表单,以使对象可编辑。