WPF New Features - 2010 Volume 2
In this feature-packed release of NetAdvantage® for Win Client – WPF controls 2010 Volume 2 we expand your toolset for broad-based, high performance line of business application development on the back of our Unified XAML Product Strategy. Combined with CLR 4 builds of all controls, support for the new Visual State Manager across our WPF 4 controls, and greatly improved performance in many of our controls, we also provide you with an enhanced design-time support using smart tag adorners that are both quick to use and informative in Microsoft® Visual Studio® 2010 and the latest version of Expression Blend®.
Unified XAML Product Strategy – NEW!
With the convergence we've seen in the releases of WPF 4 and Silverlight 4 from Microsoft, it's increasingly clear that the future on these platforms is one in which Killer Applications will be written for multiple screens (desktop, browser and mobile)! To this end, we have re-aligned our namespaces for all of our XAML controls (including NetAdvantage® WPF controls) to give you a more unified foundation upon which to develop both WPF and Silverlight applications. We call this our new Unified XAML Product Strategy, and it's big!
You'll find that starting with this volume release, we are offering you much greater parity between our WPF and Silverlight for Line of Business application development control toolsets. Shared code (and common APIs across platforms) will simplify both your development and ours, so you can go-to-market faster. We are lessening your learning curve, and making it easier for you to migrate your WPF applications to/from Silverlight. We've also renamed our compiled assemblies to be consistent with our new namespaces, and to make it easier for you to load and/or filter just the controls (by target platform, version, runtime and path) you need into Visual Studio 2010 using its Add Reference dialog.
We know these namespace changes will introduce some breaking changes into existing legacy WPF application projects that you will face when upgrading to 2010 Volume 2, but we have redesigned our toolset around the Unified XAML Product Strategy because the market is now converging in this direction and the promised benefits are substantial. To help you migrate, we have created an upgrade utility that will assist you to more quickly upgrade your legacy WPF application projects. Extensive documentation on the namespace changes exist in the help, and our Developer Support team is going to treat every namespace-related support case as Priority so you will be able to get a response from us in one business day so you can rapidly overcome any challenges.
xamColorPicker – NEW!
A color picker is a WPF dropdown control designed to allow your users the ability to select a new color, stored as the SelectedColor property of xamColorPicker™ whenever:
- You set SelectedColor as the developer
- A user clicks on a color box (area of color)
- Within the Advanced Color Editor (ACE), the user has finalized a color value to be selected
- A user hovers over a color box (area of color) which temporarily selects the color similar to how you can preview a color selection in Microsoft Office® 2010
A selected color changed event fires whenever the selected color changes and you can use the SelectedColor as a WPF data binding context.

Recent Color Palette
Except for colors being temporarily previewed, all color selections are added into the RecentColors collection of the control, and displayed as one of the color picker's most recently used color palettes. Since it is an ordinarily observable collection, you can add colors programmatically to the RecentColors collection.
Advanced Color Editor
Users can click the "Advanced" button to bring up the Advanced Color Editor (ACE) that will let your users set the RGB (Red Green Blue), HSL (Hue Saturation Luminosity) and CMYK (Cyan Magenta Yellow Black) values of the color. Each color system also allows the user to set the Alpha channel through a separate slider control, and all provide instant visual feedback of the selected color.
Derived Palettes
The color picker control can display one or more derived palettes (configurable using the DerivedPalettesCount property) that are automatically generated from your user’s color selections. The reasoning works like this, if your user has just selected on shade of color, then it’s likely that one of the derived palettes will have a closely-related shade of color that your user might be interested in picking next.
xamSlider – NEW!
We give you four stylable sliders for dates, times, and numbers, plus a foundation of generic base classes so you can subclass your own slider!
| |
Range Selection |
No Range Selection |
| Based on Double data type |
xamNumericRangeSlider |
xamNumericSlider |
| Based on DateTime data type |
xamDateTimeRangeSlider |
xamDateTimeSlider |
| Based on Generic data type T |
xamRangeSlider<T> |
xamSimpleSlider<T> |
Range Sliders
Each numeric and DateTime slider comes in two flavors: simple sliders for when your user only needs to set a single value, and range sliders for when you need to set the high and low values of a range. Range sliders are great for scenarios where you want to let users enter upper and lower limits, such as when filtering data.

Custom Look and Feel
You can style and template the appearance of the slider, even in some unconventional ways (e.g., using a pill bottle shape for a slider that indicates refills). Sliders can be oriented horizontally or vertically, and you can customize their tickmarks and labeling.

Bring Your Own Type
BYOT means you can easily create your own xamSlider™-derived controls based on the .NET data type you want (e.g., System.Drawing.Color) through the trivial extension of our generic base classes. We've designed these generic base classes to encapsulate all of our WPF slider control's magic so you get the same rich functionality we provide in our pre-built slider controls.

xamMenu - NEW!
Our premier WPF menu control is xamMenu™, and it enables you to organize your applications with its dropdown, popup and nested menus. It allows you to give your hi-fi UI for WPF a multi-level, hierarchical menu structure for delivering an end user experience that will awe your users with the "Wow!"-factor. Like all of our WPF controls, it's fully templatable and has numerous features such as icons, checkboxes and smooth sliding transition effects.

xamContextMenu - NEW!
With the new WPF context menu control we have included in this release, your users can pop-up a menu by click or command anywhere throughout your WPF applications. xamContextMenu™ is the ideal UI control for you to use in exposing context-sensitive functionality to your users.

Builds on the Successful xamMenu Object Model
We have extended our already successful xamMenu object model so that all of its features (including styling and templating menu items) continue to be available to you for use within context menus that can pop-up from anyplace.
Control Placement
You can attach xamContextMenu to any UI control or element, and use different Placement Modes to finely tune its position, alignment, and offset from the edges of that UI control or element.
Variety of Triggers
There are many ways you can either allow your users to pop-up a context menu, or with which you can programmatically pop-up a context menu. It can open in response to left or right mouse button clicks, or in response to a WPF Command.
xamDialogWindow – NEW!
Another new WPF control we have unveiled in 2010 Volume 2 is the xamDialogWindow™, a complete WPF dialog window control for displaying rich, hi-fi dialog windows (external to any containers) within your WPF applications with maximum stylability. It has all of the features you would expect such as minimize, maximize and close buttons – and of course it is fully templatable in XAML. This is a control you will definitely want to check out.

xamTagCloud – NEW!
When it's raining tags, it's pouring with the new WPF tag cloud control. Choose keywords or phrases ("tags") and you can weight them by their frequency of occurrence, importance or other scoring algorithm you devise, and the WPF tag cloud control will display them for you. Tags deemed most important stand out with a heavyweight font size greater than their peers, while little-use tags appear more diminutive in size. Users will have no trouble identifying what the most prevalent and trending tags are when you're using xamTagCloud™ to show them.

xamSpellChecker – NEW!
The spell checker is a UI control that allows your WPF applications to easily perform all kinds of spell-checking operations using any of the included dictionaries for 9 languages.
Now your users can spell check documents in any or all text input fields. Its forms-based spell checking dialog that can be displayed external to any container will guide your users through the spell checking process interactively. xamSpellChecker™ mimics the user experience your users would have if they were using professional word processing software. It can even suggest corrections when the inevitable typo or misspelling is found.

xamRibbon – Enhanced
When you choose particular Themes for xamRibbon™ you can have it display in the Windows® 7 scenic ribbon (or AERO, Authentic Energetic Reflective and Open, style) to give your users the user experience they are becoming familiar with by using applications like Paint and WordPad on the latest Windows 7 operating system.
Visual State Manager – NEW!
New in all of our WPF 4 controls is support for the Visual State Manager. Long familiar to Silverlight developers as part of their control model, the Visual State Manager is just making in-roads into the WPF developer community and promises its adherents with a more streamlined means of associating visual state transitions and styles with elements of your user interface as their state changes.
So that you would still have the same development (and design) experience when taking a default template for one our controls out of the box, we have left our default XAML templates working as they have been with WPF triggers. However, our WPF 4 controls fully support the Visual State Manager so you can now use it in your own styling and customization of your XAML templates.
Smart Tag Adorners – NEW!
Users of Microsoft Visual Studio 2010 and the latest version of Expression Blend get an even better design-time user experience with the addition of smart tag adorners to our major WPF controls.
Smart tags are quick to use, because they make it very convenient for you to set a number of properties such as changing the View on a data presenter (the change then instantly takes place on the Visual Studio 2010 and Expression Blend design surface).
Smart tags are also informative, because you don’t have to search through the object model to find the property you want to set. Small question mark icons adjacent to property settings on the smart tags will display help text on that particular property.

Increased Performance – NEW!
We have made changes to our data grid controls to increase their performance in specific circumstances such as burst insertions, when scrolling large distances, and when performing certain grid operations.
Cells in View
You can now target cell updates to affect only the cells that are currently within the user's view. Any updates to cells that are currently off-screen can be deferred until they later enter the view.
Burst Insertions
We have optimized the data grid to accommodate when you have a burst of new data records that you need to insert into the beginning of the data grid, leading to a more rapid response.
Overall Performance
We have greatly improved performance with large numbers of data records when you are sorting, filtering or when updating summary titles that need to be recalculated. We have improved the performance of all of these operations in this latest version.
German Language XAML Satellite Assemblies – NEW!
Now you can expand the market for your software to German-speaking users, with our new satellite assemblies that include translations for all static text appearing in our WPF controls' dialogs, buttons and UI elements. You will find localized satellite assemblies placed in a "de" subfolder under the main "bin" folder where you’ve installed our other compiled assemblies. When your end user's current UI culture indicates the German language (for example, "de-DE") the string resources in these localized satellite assemblies will be automatically localized.

Using the localized, satellite assemblies only translates static run-time text to German (for instance, the names of built-in filter operators, or replacing the default "Count" label with "Anzahl" in the German user interface). The above screenshot illustrates why you must still localize text that is specific to your application (for instance, column names in your database schema such as "name" and "department"), and this is something which is easily done through the properties of our WPF controls.
You can force the localized satellite assemblies for German to be used by overriding the OnStartup method in your App.xaml.cs (or App.xaml.vb) to set the CurrentUICulture on the current thread to "de-DE" with code like the following:
using System.Globalization;
using System.Threading;
// ...
protected override void OnStartup(StartupEventArgs e)
{
base.OnStartup(e);
CultureInfo myCI = new CultureInfo("de-DE", false);
Thread.CurrentThread.CurrentUICulture = myCI;
}
See What's New in Prior Releases
Every release of the NetAdvantage WPF controls adds value and features onto the release that came before. You can read more about what was new in previous volume releases here, or by consulting the "What's New" page in the accompanying documentation.