Introducing InputPro for Silverlight
Data input and validation are essential part of almost all applications. A set of highly dependable and flexible input controls can relieve the burden of application developers and make them concentrate on the core business logic. InputPro for Silverlight is created to focus on data input and validation and tries to be such a control set in Silverlight.
InputPro for Silverlight is a brand new product designed from scratch. We take time to design it and try to make it powerful but still easy-to-use. Our philosophy is make basic things easy and hard things possible. We hope this philosophy could result in consistent and concise interfaces and fluent input experience. Here are some highlights of the control set:
- Fully support .NET format strings and format providers. We don't want to invent a new format language and force the user to learn it. The date time controls support both Standard Date and Time Format Strings and Custom Date and Time Format Strings, and the number controls support both Standard Numeric Format Strings and Custom Numeric Format Strings. DateTimeFormatInfo and NumberFormatInfo are also supported respectively to enable more flexible format control.
Internationalization and localization support. By utilizing .NET parsing and formatting, the controls are built-in culture-aware. The date time controls also have local calendar (Japanese currently) and timezone support.
Smart and fluent input experience. We did a lot of jobs to help the user enter a correct value fluently. Character filtering, smart caret movement, spinning, value slider etc. are all the helpers.
- Unlimited and customizable undo/redo. We make every single edit operation undoable. The length of undo queue is unlimited (limited by the available memory) by default, but you can explicitly set a limit on it. You can also programmatically create a custom undo unit by calling the BeginChange and EndChange methods. Custom undo units behave same as other undo units.
- Customizable parsing and formatting. If you are not satisfied with the default parsing and formatting, you can handle corresponding events to add your own parsing/formatting logic.
- Customizable key/command binding. The commands include both basic keyboard operations (caret movement, text selection etc.) and useful shortcuts (spin, clear, drop-down etc.). There's a default binding key for each command, but you can also change it with your own.
The first preview build of InputPro for Silverlight has been published. This build includes the following controls:
Date time controls:
FpDateTime: value type is DateTime.
FpDateTimeOffset: value type is DateTimeOffset, a new added type since .NET Framework 2.0 sp1, recommended to be the default date and time type for application development by MSDN.
Numeric controls:
- FpDecimal: value type is Decimal.
- FpDouble: value type is Double.
- FpInteger: value type is Int32.
- FpLongInteger: value type is Int64.
Mask control:
- FpMaskedTextBox
Text control:
- FpTextBox
Controls to support the above controls:
FpCalculator
FpErrorReminder
- FpSpinButton
These controls are currently in Preview Quality Band and are open to feature requests and feedback. I'll write more about these controls in the following days. Your comments are important for us to make a better product.