Our previous WPF product roadmap posting presented the post-WPF Studio v4.0 development goals we have for the near future, including PropertyGrid for WPF and SyntaxEditor for WPF.
In this posting, I'd like to talk about some of the progress being made in those areas.
PropertyGrid for WPF
The PropertyGrid for WPF control provides nearly all the features found in modern IDE applications such as Visual Studio 2008 and Expression Blend. If development continues as planned, we could be looking at having it out in late August.
Let's take an in-depth look as to what features the first release of this control will provide.
|

The upcoming PropertyGrid for WPF product
|
Property Population - Manual and Automatic Options
The PropertyGrid can be populated manually using XAML or code-behind, which can be bound to any value. This
is great for scenarios where there is a known and static list of entries.
Additionally, the properties of any .NET object, or objects, can be used to automatically populate the PropertyGrid.
You can choose from simple reflection or TypeDescriptors, which supports abstract properties like attached properties, to create the entries from the specified object(s). When more than one object is specified, the properties common to all objects are "merged", just like the WinForms PropertyGrid. You can provide a custom "property factory" if you need more control over the generation of entries.
Property Editors
Property editors can be specified for properties by name/type, name, type, or base types. This means you can specify the editor to use for all enumeration types or for a specific property. The property editor can be used to customize the value cell DataTemplate, the control used to present/modify the value, and the name cell DataTemplate. These give you total control over the appearance of each property.
Category Editors
Category editors can be used to present more complex editors that are capable of modifying more than one property
in a specified category. As seen above the FontFamily, FontSize, FontStyle, and FontWeight properties are presented using a "Font" category editor.
Data Validation
All the editors support the standard WPF data validation, as seen in the font size TextBox above. You can use Styles to apply your own ErrorTemplate.
Complex Properties
Certain "complex" properties can be expanded to show child properties.
SyntaxEditor for WPF
SyntaxEditor is under full development as well. However this product will take more time to get an initial release out because there are several parallel goals that we're working on:
- Build a common document/parsing framework that can be shared among multiple related products and platforms. This means using it for SyntaxEditor for WinForms, SyntaxEditor for WPF, CodeHighlighter for ASP.NET, and other small products we have in mind.
- Improve the document/parsing capabilities in general.
- Create better tools to help develop and maintain advanced languages.
That being said, once we get core editor functionality working, we may start some alpha testing for any WPF Studio customers who are interested.
|

SyntaxEditor for WPF with some basic syntax highlighting for a C# document
|
Speaking of the core editing capabilities, we've been focusing a lot lately on making the common document/parsing framework. So unfortunately that can't be displayed in screenshots. However you'll like what you see once you get your hands on it. Also we've been working on some basic editor features like view splitting along with some other really neat things that we'll keep quiet on for now. Let's just say that once complete, SyntaxEditor for WPF will work like the Visual Studio code editor out-of-the-box, but will have some very nice extensibility points that weren't previously available.
If anyone has any suggestions for document/parsing or UI extensibility points, now is the time to e-mail them over. We'd love to hear your thoughts.