Tweets by @Actipro
Please take some time to learn more about us and our product offerings.
We are close to releasing a Beta version of our Editors for WPF product, and we are looking for beta testers. Editors for WPF is a suite of controls that can be used to collect, restrict, and validate user input.
If you are a WPF Studio customer and would like to apply to be an beta tester, please e-mail us with your name, e-mail address, and the organization name under which you own WPF Studio licenses (same as your WPF Studio license’s Licensee). Only existing WPF Studio customers may apply at this time.
As usual, one requirement of being an beta tester is that you must provide feedback on the product. If you don't think you'll have the time to do so, then please don't apply.
Support for drop-downs in our parts-based editor (e.g. calendars, lists, etc) is missing from the beta, but is planned for later betas and/or the final release.
The beta will include parts-based editors for DateTime, Double, Guid, Int32, Int32Rect, Point, Rect, Size, and Vector (from System.Windows). We plan to include parts-based editors for a few other types, including Duration and TimeSpan.
We have previously discussed the parts-based editor in this blog post, but would like to walk through a more complete example. The following wizard uses the DateTime parts-based editor for the birthday field.
Initially the value of the birthday is null, therefore the watermark is shown. The watermark can be fully customized using a DataTemplate, but by default shows the specified text.
To enter a birthday, you can either click the CheckBox or elsewhere in the control. If we click in the control, then we can see the various parts and begin entry.
The focus is automatically moved to the first part, so the user can begin entering the birthday. In order to enter the month, the user can type the month name or use the up/down arrow keys. In the image below, the letter 'A' was typed once followed by the Tab key.
When the focus is moved out of the part, it's changes are committed. The remaining parts are automatically initialized based on an "initial value" property. The initial value can be configured manually, or can be automatically updated based on the last non-null value (which allows the value to be retained if nullified). In this case, the initial value uses the default value of DateTime.Today.
With the focus in the day part, we can type in a valid day. Most of the parts leverage the MaskedTextBox to restrict input, and in this case only one or two digits are allowed. Additionally, the parts can further restrict the user input so that only valid dates can be entered. In this case, the current month of April the day would be restricted to 1 to 30. Assuming we enter 14 and press the tab key, the day value will be committed and focus will move to the year.
Finally, we can enter the year using 1 to 4 digits. When using 1 or 2 digits, then it is assumed to be a two digit year and will therefore convert to a 4 digit year. The editors use the current system configuration to determine the cut off values. In this example, we typed 75 then pressed the Tab key.
The value of 75 was converted to 1975, because the two digit years are assumed to be between 1930 and 2029.
The parts-editors provide a more natural and intuitive way to collect user input. By leveraging the MaskedTextBox and custom validation, the user input is guaranteed to be in the correct format. You can also build a parts-based editor for you own custom types using the framework provided.
We'd love to get your feedback, so please sign up for the beta.