smw*_*dia 8 c# collectioneditor
我有一个自定义控件具有类型的属性Collection<System.Drawing.Point>.当我使用CollectionEditor编辑此属性,则CollectionEditor窗口显示"Object does not match target type."为"X"和"Y"性能.但如果我System.Drawing.PointF改用它,那就没有失败.
谁能解释为什么会出现这种差异?
小智 3
Point 和 PointF 之间的区别确实在于 PointConverter。为什么这会导致问题是一个很长的故事,但最终归结为以下几点:
实现简单System.ComponentModel.ICustomTypeDescriptor.GetPropertyOwner(PropertyDescriptor)地System.ComponentModel.Design.CollectionEditor
.CollectionEditorCollectionForm.SelectionWrapper返回this.
根据前面提到的接口方法的MSDN页面ICustomTypeDescriptor,一个实现应该
返回一个对象,该对象包含由指定属性描述符描述的属性。
如果我理解正确的话,在这种情况下,实现与文档相矛盾。
这是基于我自己的一些研究,所以不要想当然。我在 Microsoft Connect 上发布了有关此问题的报告,希望我们几天后就能确定。收到答复后我会报告。