我正在使用Winforms PropertyGrid
; SelectedObject
的目标包含Image
类型的属性。一切都很好,除了所有项目的高度相同,图像太小,无法正常看到。我希望能够控制网格项的高度,使图像显示得更大一些。另一个细节是,一个SelectedObject
控件的PropertyGrid
可能被分配了各种不同类别的对象(可能有也可能没有图像属性),所以我希望高度可以由SelectedObject
本身实例中的数据驱动,而不是使其成为控件的静态行为,尽管我会选择图像属性的自定义属性来使项目高度至少达到类 - 具体如果它不能是特定于实例的。
我该怎么做?自定义属性? PropertyGrid
事件?还有别的吗?
答案 0 :(得分:1)
正如Simon对您的问题发表评论,这不可能为GridItem设置自定义高度。
您有两种解决方案可以显示合理尺寸的图像:
您可以编写自己的UITypeEditor代码。这样,用户只需单击向下箭头,即可在下拉框中看到尺寸合适的图像。
对于插件我很抱歉,但我认为它直接回答了您的问题:只有第三方PropertyGrids可以允许您在网格中获取可变大小的行。 Smart PropertyGrid.Net就是其中之一。您将HeightMultiplier设置为该行,以便它在4行上展开。然后编写自己的Look类,以此方式处理图像的绘制。