0

我制作了一个具有 type 属性的 UserControl RotateFlipType,该控件在另一个相应地设置属性的 UserControl 中使用。

问题是,根据RotateFlipType MSDN 文档,枚举有 16 个字段,但 VS 属性窗口仅显示 14 个,Rotate180FlipNone并且RotateNoneFlipX丢失了。

我需要使用Rotate180FlipNone. 通过代码设置它工作正常,但我真的不想那样做。

4

1 回答 1

1

仔细查看组合框中的值。请注意,它包含重复项

在此处输入图像描述

是的,因此缺少价值。该列表仍然包含 16 个值。

原因是 RotateFlipType 的枚举值是不明确的。只有 8 个不同的值。像 RotateNoneFlipNone 是与 Rotate180FlipXY 完全相同的变换。用一张纸试试。或者直观地说,有 4 个可能的旋转乘以 2 个可能的投影(原始和翻转)。所以出错的是类型转换器将枚举的整数值(0 到 7 之间)转换回字符串。有两个可供选择,它只选择第一个匹配项。

您需要编写自己的 TypeConverter 将值映射到不同的字符串,即 8 个可能的字符串之一。您可能想要编写一个 UITypeConverter,以便使用显示转换的位图更明显。

于 2012-04-22T15:27:23.323 回答