2

我正在使用 Winforms PropertyGrid;的目标SelectedObject包括类型的属性Image。一切都很好,除了所有项目的高度相同,图像太小而无法正常查看。我想对网格项目的高度进行一些控制,以便图像可以显示得更大一些。另一个细节是,可以SelectedObject为一个PropertyGrid控件的对象分配各种不同类中的任何一个(可能有也可能没有图像属性),所以我希望高度可以由实例中的数据驱动SelectedObject本身,而不是使其成为控件的静态行为,尽管我会满足于图像属性的自定义属性,以使项目高度至少是类特定的,如果它不能是特定于实例的。

我怎样才能做到这一点?自定义属性?PropertyGrid事件?还有什么?

4

1 回答 1

1

正如西蒙对您的问题所评论的那样,GridItem 不可能有自定义高度。

您有 2 种解决方案可以显示具有合理尺寸的图像:

  1. 您可以编写自己的UITypeEditor。这样,用户只需单击向下箭头并在下拉框中看到一个大小合适的图像。

  2. 抱歉插件,但我认为它直接回答了您的问题:只有第 3 方 PropertyGrids 可能允许您在网格中获取可变大小的行。Smart PropertyGrid.Net就是其中之一。您将 HeightMultiplier 设置为该行,以便它扩展为 4 行。然后,您编写自己的 Look 类,以在此空间中按照您想要的方式处理图像的绘制。

于 2013-08-04T14:42:07.283 回答