Tweets by @Actipro
Please take some time to learn more about us and our product offerings.
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.
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
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 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 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.
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.
Certain "complex" properties can be expanded to show child properties.
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:
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.
Part of the large Actipro WPF Studio build 456 update was a number of new themes for our controls that match the "Royale" Windows system theme.
The Royale theme is a Media Center-like theme that was made available for Windows XP and generally looks more modern than the three standard Windows XP themes.
Now all our themed WPF products look great in the Royale system theme. Let's take a peek at some of the major controls:
Actipro Ribbon with its Royale theme
Actipro Docking & MDI with its Royale theme
ExplorerBar and Breadcrumb with their Royale themes
NavigationBar with its Royale theme
Wizard with its Royale theme
We've been hard at work this past week on adding a bunch of new themes for our WPF Studio v4.0 controls. One area we addressed was adding six new themes for Ribbon for WPF.
The new Royale, Luna (olive green), and Classic themes for Ribbon
The six new themes are:
All the new themes (except high-contrast) still use subtle gradient effects to give the controls depth and look great when used in the appropriate operating system.
Previously we only had the three Office 2007 themes (blue, silver, black) for Ribbon. Windows Vista defaulted to using Office Black while other Windows systems defaulted to using Office Blue. In this new maintenance release, this behavior has changed.
Now when running XP, the appropriate system-based theme will be automatically chosen instead of Office Blue. Windows Vista will still use the Office Black since that matches Aero color schemes.
To continue using the Office Blue theme in XP, set our ThemeManager.CurrentTheme = "Office2007Blue";
The High-contrast theme is designed to only be used in high-contrast color schemes. When you detect a high-contrast theme is active, set our ThemeManager.CurrentTheme = "HighContrast"; and that will activate the theme.
Now that Actipro WPF Studio v4.0 is out, we've started on PropertyGrid for WPF development again.
We already have a good core codebase working for the PropertyGrid for WPF control and have done a lot of planning on its feature set, but we want to hear your thoughts as well.
What features do you want to see in our upcoming PropertyGrid for WPF control?
Please email our support team with your comments, we'd love to hear them!
We just released build 275 of SyntaxEditor and its add-ons. This build has a lot of minor tweaks and bug fixes that have been made over the last 2-3 months.
In addition there have been some major enhancements in the .NET Language Add-on's IntelliPrompt capabilities.
A demo of how a delegate can be called like a method with full IntelliPrompt
Delegates now have full IntelliPrompt capabilities, just like calling methods. Note how in the screenshot above, a generic delegate is called and a DateTime value is properly returned as the value. The member list shows the members of the DateTime return value.
A member list displayed for the result of a generic method call
Generic methods can have their return type defined by the parameter that is passed to them. In the example above, a field called ADateProp which is of type DateTime, is passed as a parameter to the generic method Echo. IntelliPrompt correctly recognizes that per the definition of Echo, the return type is also DateTime.
Parameter info displayed for a method invoked directly off a constructed type
This feature has been highly requested... IntelliPrompt that functions on a constructed type expression. In the screenshot above, the Append method's parameter info is displayed, following a new StringBuilder() call.
A member list displayed for a lambda expression variable
Lambda expressions are a new concept in the latest C# and VB updates by Microsoft. In the example above, a member list is displayed for the x variable introduced in a lambda expression. IntelliPrompt determines that x is a DateTime based on the Func<DateTime, bool> declaration.
Note that not all Lambda expression IntelliPrompt works at this time but we will continue to improve IntelliPrompt in all areas as we move forward.
Enjoy the updates!
Are you an existing Actipro UIStudio for WinForms customer who is just starting to look at getting into WPF development?
Through the end of the month of July only, and to celebrate the release of Actipro WPF Studio v4.0, we are offering a special discount of 25% off our normal WPF Studio prices.
WPF Studio is the ideal upgrade path for UIStudio customers getting into the WPF arena since it now includes complete docking tool window, multiple document interface, and navigation bar implementations, along with so much more.
Restrictions are that you must be an existing UIStudio customer before this post, cannot already own any of our WPF products, and must place the order before the end of the month. Contact our sales team via email for details on how to receive the discount before you are ready to order.
We're very happy to have just released WPF Studio v4.0. This version is the culmination of several months of work and we're sure you'll love what you see.
Download Actipro WPF Studio v4.0 now
To celebrate, we'll be posting details about a special promotion for existing UIStudio for WinForms customers who are looking to get into the WPF arena.
Actipro Docking & MDI is a complete solution for easily adding a docking tool window and/or multiple document interface to your WPF applications. Allow your end users to drag and dock tool windows wherever they please, and to persist their customizations. Also use this product to fill the gap left by Microsoft not including an MDI mechanism in the WPF platform.
Docking & MDI showing a docking operation in progress with the Aero theme active
Docking & MDI has been implemented with flexibility in mind. It has more options than nearly any other competitive product out there and mimics Visual Studio 2008's capabilities. While it supports all the types of standard layouts you find in most docking window products, it also supports some extended functionality that you won't find anywhere else.
Check out more information about the product or try a live demo on our site.
Actipro Gauge is a control suite that implements circular, linear, and digital gauge controls for the Windows Presentation Foundation framework. Each gauge control has tons of options available, providing for limitless possibilities.
Circular, linear, and digital gauges combined to display monitoring information
Gauge controls are ideal for displaying several data points in a concise and compact area. Everything from car dashboards to medical and industrial equipment use gauges, and are quickly recognized and understood by users.
The circular and linear gauges are perfect for presenting a value, or values, bound by a specific range. The digital gauge is perfect for mimicking real-life LED displays.
There were a lot of other minor enhancements and tweaks made throughout our WPF control products for this release. We added several new demos and useful utilities as well.
One great new utility found in WPF Studio is the Theme Browser. A WPF Studio customer was kind enough to post a simple theme browser for our controls in the WPF Studio forums for the benefit of other customers.
We took this idea and ran with it, making a very helpful utility that lets you browse each Brush resource used by our products for the various themes. The utility shows a preview of each Brush and even allows you to copy a DynamicResource reference accessing the Brush to the clipboard so that you can reuse it in your applications as long as the same theme is loaded.
The new Theme Browser, that comes with WPF Studio
This is really useful for those of you making some customizations to other controls and wanting to use the same Brushes as us so that you have a consistent look in your application.
Going along with the Theme Browser idea, we wanted to make a String Resource Browser. All our products that display text in the user interface stores the default text in string resources. You can customize or localize the text in code-behind via a single line of code for each item.
The new String Resource Browser, that comes with WPF Studio
The String Resource Browser lets you examine all the string resources used in our various products. When you select a string resource, you have the ability to enter a customized version of it. The Browser even generates the C# and VB code you can paste into your application to perform the customization.
We're just about ready to launch WPF Studio v4.0, probably in the next day or two. Keep an eye on our site for the official release!
As another sample of what our gauges in WPF Studio v4.0 can do, here is a flight simulation gauges gallery that shows a collage of gauge controls related to a flight simulation.
Flight simulation gauges that can be fully data bound
The full XAML source for these control samples are in our v4.0 Sample Browser.