Hello!
Symptoms: RadDataForm don not see custom properties of object which implements ICustomTypeDescriptor when RadDataForm.CurrentItem set and RadDataForm.ItemsSource is null.
Location ItemPropertyInfoHelper.cs(Telerik.Windows.Data.dll assembly Telerik.Windows.Data namespace):
Can you confirm this behavior?
Telerik version 2013.3.1016.40
Symptoms: RadDataForm don not see custom properties of object which implements ICustomTypeDescriptor when RadDataForm.CurrentItem set and RadDataForm.ItemsSource is null.
Location ItemPropertyInfoHelper.cs(Telerik.Windows.Data.dll assembly Telerik.Windows.Data namespace):
private
static
PropertyDescriptorCollection GetPropertyDescriptors(QueryableCollectionView collectionView)
{
...
if
(TypeExtensions.IsCompatibleWith(elementType,
typeof
(ICustomTypeDescriptor)))
//code pass
return
ItemPropertyInfoHelper.GetPropertyDescriptorsForCustomTypeDescriptorElementType(collectionView);
...
}
public
static
PropertyDescriptorCollection GetPropertyDescriptorsForCustomTypeDescriptorElementType(QueryableCollectionView collectionView)
{
var customTypeDescriptor = ItemPropertyInfoHelper.GetCollectionViewRepresentativeItem(collectionView)
as
ICustomTypeDescriptor;
//returns null
if
(customTypeDescriptor !=
null
)
return
customTypeDescriptor.GetProperties(); //Never called when ItemsSource is not set
else
return
null
;
}
private
static
object
GetCollectionViewRepresentativeItem(QueryableCollectionView collectionView)
{
if
(!collectionView.IsEmpty)
return
collectionView.GetItemAt(0);
//collection is empty
else
return
null
;
}
Can you confirm this behavior?
Telerik version 2013.3.1016.40