You are welcome, Mike!
1. You should write in you custom project class code like this:
public override FileNode CreateFileNode(ProjectElement item)
{
if (item == null)
{
throw new ArgumentNullException("item");
}
return new YourCustomFileNode(this, item);
}
2. Inherit YourCustomFileNode class from MPF FileNode class
3. Override NodeProperties creation in custom file node:
protected override NodeProperties CreatePropertiesObject()
{
return new YourCustomFileNodeProperties(this);
}
4. And inherit YourCustomFileNodeProperties from MPF FileNodeProperties class
NOTE: I'm not sure it is correct but I remember right I had problems with custom properties class until I added this property to it:
[Browsable(false)]
public string SubType
{
get
{
return Node.SubType;
}
set
{
Node.SubType = value;
}
}
Hope that saves the time.
Another tip - to understand how to expose properties - look at the implementation of some MPF NodeProperties class inheritors.
Best wishes,
Dmitry Pavlov