Winforms PropertyGrid每GridItem行高

Winforms PropertyGrid每GridItem行高,winforms,propertygrid,Winforms,Propertygrid,我正在使用WinformsPropertyGrid;SelectedObject的目标包含类型为Image的属性。一切都很好,除了所有项目的高度相同,图像太小,无法正常看到。我想对网格项目的高度进行一些控制,这样图像可以显示得更大一些。另一个细节是,一个PropertyGrid控件的SelectedObject可以被分配一个不同类别的对象(可能有图像属性,也可能没有图像属性),因此我希望高度可以由SelectedObject自身实例中的数据驱动,而不是使其成为控件的静态行为,尽管我同意使用ima

我正在使用Winforms
PropertyGrid
SelectedObject
的目标包含类型为
Image
的属性。一切都很好,除了所有项目的高度相同,图像太小,无法正常看到。我想对网格项目的高度进行一些控制,这样图像可以显示得更大一些。另一个细节是,一个
PropertyGrid
控件的
SelectedObject
可以被分配一个不同类别的对象(可能有图像属性,也可能没有图像属性),因此我希望高度可以由
SelectedObject
自身实例中的数据驱动,而不是使其成为控件的静态行为,尽管我同意使用image属性的自定义属性,以使项高度至少与类相关(如果不能与实例相关)


我该怎么做?自定义属性<代码>属性网格事件?还有什么吗?

正如Simon对您的问题所评论的那样,GridItem不可能有一个自定义的高度

您有两种解决方案可以以合理的大小显示图像:

  • 你可以自己编写代码。这样,用户只需单击向下箭头,就可以在下拉框中看到大小合适的图像

  • 对于这个插件,我很抱歉,但我认为它直接回答了您的问题:只有第三方PropertyGrid允许您在网格中获取可变大小的行。是其中之一。您为该行设置了一个高度乘数,使其在4行上展开。然后,您可以编写自己的Look类,该类以您希望的方式在该空间中处理图像的绘制


  • 网格行高度是固定的,并且对于所有属性都是相同的(字体高度+2)。你不能改变。虽然我使用的是winforms属性网格,但它实际上在WPF应用程序中。不久前,我为WPF研究了属性网格,但对我的发现不满意。问题包括组件模型支持、对数据类型(如日期)的内在支持等。总之,我发现.NET附带的基本winforms属性网格似乎是实现可接受的外观和功能级别(该应用程序以winforms开始,演变为WPF)所需编程工作量最少的途径。如果我打算进行交换,我想我更愿意看看WPF目前有什么可用的功能。