我制作了一个具有 type 属性的 UserControl RotateFlipType,该控件在另一个相应地设置属性的 UserControl 中使用。
问题是,根据RotateFlipType MSDN 文档,枚举有 16 个字段,但 VS 属性窗口仅显示 14 个,Rotate180FlipNone并且RotateNoneFlipX丢失了。
我需要使用Rotate180FlipNone. 通过代码设置它工作正常,但我真的不想那样做。
我制作了一个具有 type 属性的 UserControl RotateFlipType,该控件在另一个相应地设置属性的 UserControl 中使用。
问题是,根据RotateFlipType MSDN 文档,枚举有 16 个字段,但 VS 属性窗口仅显示 14 个,Rotate180FlipNone并且RotateNoneFlipX丢失了。
我需要使用Rotate180FlipNone. 通过代码设置它工作正常,但我真的不想那样做。
仔细查看组合框中的值。请注意,它包含重复项:

是的,因此缺少价值。该列表仍然包含 16 个值。
原因是 RotateFlipType 的枚举值是不明确的。只有 8 个不同的值。像 RotateNoneFlipNone 是与 Rotate180FlipXY 完全相同的变换。用一张纸试试。或者直观地说,有 4 个可能的旋转乘以 2 个可能的投影(原始和翻转)。所以出错的是类型转换器将枚举的整数值(0 到 7 之间)转换回字符串。有两个可供选择,它只选择第一个匹配项。
您需要编写自己的 TypeConverter 将值映射到不同的字符串,即 8 个可能的字符串之一。您可能想要编写一个 UITypeConverter,以便使用显示转换的位图更明显。