我做了一个UserControl,该属性的类型为RotateFlipType
,该控件在另一个UserControl中用于相应地设置属性。Visual Studio属性没有显示所有枚举选项
东西是根据RotateFlipType MSDN Documentation Enum有16个字段,但VS属性窗口只显示14,Rotate180FlipNone
和RotateNoneFlipX
丢失。我需要使用Rotate180FlipNone
。通过代码设置工作正常,但我真的不想这样做。
我做了一个UserControl,该属性的类型为RotateFlipType
,该控件在另一个UserControl中用于相应地设置属性。Visual Studio属性没有显示所有枚举选项
东西是根据RotateFlipType MSDN Documentation Enum有16个字段,但VS属性窗口只显示14,Rotate180FlipNone
和RotateNoneFlipX
丢失。我需要使用Rotate180FlipNone
。通过代码设置工作正常,但我真的不想这样做。
仔细查看组合框中的值。注意,它包含复制:
是的,值因失踪。该列表仍包含16个值。
原因是RotateFlipType的枚举值是不明确。只有8个不同的值。像RotateNoneFlipNone与Rotate180FlipXY完全相同。用一张纸试一下。或者直观地说,有4个可能的旋转乘以2个可能的投影(原始和翻转)。所以出错的是类型转换器从枚举的整数值(0到7之间)转换回字符串。有两种选择,它只是选择第一场比赛。
您需要编写自己的TypeConverter以将值映射到不同的字符串,即8个可能的字符串之一。您可能想要编写一个UITypeConverter,因此比较明显,比如显示转换的位图。