void OnPropertiesExtensionChanged (object s, ExtensionNodeEventArgs args)
{
if (args.Change == ExtensionChange.Add) {
ItemPropertyCodon cls = (ItemPropertyCodon) args.ExtensionNode;
DataContext.RegisterProperty (cls.Addin, cls.TypeName, cls.PropertyName, cls.PropertyTypeName, cls.External, cls.SkipEmpty);
}
else {
ItemPropertyCodon cls = (ItemPropertyCodon) args.ExtensionNode;
DataContext.UnregisterProperty (cls.Addin, cls.TypeName, cls.PropertyName);
}
if (DataContextChanged != null)
DataContextChanged (this, EventArgs.Empty);
}