Ninja Trader uses the .NET PropertyGrid to present them to the Trader. A nice & very flexible approach.
This means you can use the .NET attributes to customise the way your properties are displayed. These attributes are documented in System.ComponentModel.
To save you time, some of the more useful ones are:-
- [Browsable(bool)] - To show property or not
- [ReadOnly(bool)] - Trader can view but not change the property
- [Category(string)] - Lets you group properties together. Changing this in pre.7.0 prevents the property from being displayed on the Plot. It also stops other Ninja Components like Market Analyzer from changing this property.
- [Description(string)] - Property description, which can be a hint
- [DisplayName(string)] - Display Name property
My favorite lets you add your own Property Types, (ie Brushes & Files)complete with extra dialog boxes to set them by using the [TypeConverter(typeof(MyCustomClassConverter))]
(This exceeded the char limit so I'll make it a separate post)