I basically have two applications that display an enum property in the PropertyGrid. The applications use exactly the same code to display the grid and set the selected object and so on. We have extended the Grid to use a custom data factory which creates custom data property accessors and again this code is identical between the two applications. The property to be displayed is an enumerated type and we are using a ComboBoxPropertyEditor to display a drop down list of selections that represent the underlying enum types. We do this through a Custom list type converter that's set as an attribute on the property. Again all this code is identical between the two applications.
Now in one application the drop down list is populated with the correct strings and the correct value selected to represent the underlying property value. However in the second application it isn't and we get no string values displayed in the drop down list. Through debugging the code it would appear that in the first application we call the StandardValues method in the CustomDataPropertyAccessor ok which goes on to call GetStandardValuesSupported in the list type converter correctly and the list is populated. In the second application the StandardValues method is not called and so the list gets nothing to display.
From what I can tell there is no difference in the code with regards to displaying the object and the property so can you tell me what dictates whether the StandardsValues method gets called or not? In both applications the data factory is creating the correct data accessors and they both have the list type converter set and the correct enum type and value. Is there some caching or refresh issue going on?
Unfortunately I'm not able to send any example code at this time.
Any pointers would be good as we're a little stumped!