我创建了一个具有RotateFlipType
类型属性的UserControl,此控件在另一个UserControl中使用,该UserControl相应地设置属性。
根据RotateFlipType MSDN Documentation,Enum有16个字段,但VS Property Window仅显示14个,Rotate180FlipNone
和RotateNoneFlipX
缺失。
我需要使用Rotate180FlipNone
。通过代码设置它可以正常工作,但我真的不想那样做。
答案 0 :(得分:1)
仔细查看组合框中的值。请注意,它包含重复项:
是的,因此缺少价值观。该列表仍包含16个值。
原因是RotateFlipType的枚举值是不明确的。只有8个不同的值。与RotateNoneFlipNone类似,与Rotate180FlipXY完全相同。用一张纸试试吧。或者直观地说,有4种可能的旋转乘以2种可能的投影(原始和翻转)。所以出了什么问题是类型转换器从枚举的整数值(在0到7之间)转换回字符串。有两个可供选择,它只选择第一场比赛。
您需要编写自己的TypeConverter来将值映射到不同的字符串,即8个可能的字符串之一。您可能想要编写一个UITypeConverter,因此它更明显,例如,一个显示转换的位图。