The Dew Review – Infragistics NetAdvantage for WPF v2013.1

Background

I have been using controls from Infragistics (and previously Sheridan) for nearly fourteen years. I started using Sheridan’s controls for Visual Basic 6 back in late 1999 / early 2000 while developing the UI for a warehouse management system. Since that time, Sheridan has become Infragistics and I have used their WinForm and WPF NetAdvantage suites in several large projects in both the manufacturing and health care industries.

The most recent version of NetAdvantage for WPF is 2013.1, just released in April. I recently had the opportunity to kick the tires on this release and wanted to share my thoughts.

Installing the Tools

Installing NetAdvantage for WPF is simple and painless, and a free trial of the suite can be downloaded online. You have the option of installing sample projects locally. Many WPF samples can also be test-driven live online. Both Visual Studio 2010 and 2012 are supported, as well as Expression Blend 4.0 and later. I have not tried using them with the Visual Studio 2013 beta, but I am sure they will work with that version as well.

Once installed, the 80+ controls are all automatically added to your Visual Studio Toolbox window.

toolbox1toolbox2

toolbox3toolbox4

As you can see, there are controls available for just about any scenario your business analysts can throw your way.

Samples

If you choose to install the sample projects, they can be found under an Infragistics folder in Public Documents.

samples location

There is a Showcase sample which is a C# project containing line-of-business samples including a Music Browser, a Stock Trader and a Customer Relationship Manager. This set of samples highlights some of the ways you can use the WPF controls together to build applications with a great user experience.

There are also over 50 projects that highlight how to use individual controls and sets of controls in the NetAdvantage suite. These projects are all part of the Infragistics.Samples.WPF solution found in the CLR4.0 samples folder.

wpf samples

What’s New

NetAdvantage 2013.1 has a number of new and updated features for WPF. Several of the data visualization controls have been enhanced, including the Gantt, Geographic Map and Data Chart. New controls include the Doughnut Chart (for visualizing percentages) and the Radial Gauge (in CTP version).

13_1_donughtCharts

The WPF Doughnut Chart control.

The WPF Ribbon controls have been updated to include an Office 2010 style Application Menu, and their new Syntax Parsing Engine is now RTM. This framework enables developers to embed powerful code editing features into their own applications.

My Impressions

The applications I typically build focus more on user input and interaction than on data visualization. So, I tend to use controls like Dock Manager, Tab Control, Data Grid, Editors and Menus/Toolbars.

One of the best things about using controls from Infragistics is the built-in theming support. In the included Showcase sample, switching between themes can be done with the click of a button, and the code behind those buttons is relatively straightforward. Each theme has resources in a corresponding xaml resource file. The theme selected has its file loaded into a ResourceDictionary, the existing MergedDictionaries collection is cleared and the new one loaded. Finally, the DataPresenter for the XamDataGrid control has its Theme property set to the name of the new theme. Here’s a snippet of that code:

string path = "CustomerRelations/Resources/Themes/" + themeFile; 
Uri uri = new Uri(path, UriKind.Relative); 
ResourceDictionary rd = Application.LoadComponent(uri) as ResourceDictionary; 
  
// Clear the MergedDictionaries collection 
Resources.MergedDictionaries.Clear(); 
  
// Add the new RD to the MergedDictionaries Collection 
Resources.MergedDictionaries.Add(rd); 
  
// Set Infragistics Theme for XamDataGrid 
DataPresenter1.Theme = themeName;

Any Infragistics WPF control derived from the DataPresenterBase class has a Theme property that can be set at runtime.

I was anxious to try out the new Syntax Editor control, and I was pleasantly surprised how easy it was to get some pretty powerful functionality with almost no code.

code editor

I got line numbers, auto-indentation and C# syntax highlighting with only two lines of code.

private void Window_Loaded(object sender, RoutedEventArgs e) 
{ 
    mainSyntaxEditor.Document = new Infragistics.Documents.TextDocument(); 
    mainSyntaxEditor.Document.Language = CSharpLanguage.Instance; 
} 

Support for C#, VB and SQL ship with the editor, but it can be extended to support other languages with custom grammar definition files.

I am looking forward to spending more time with this amazing editor control.

Wrap-Up

Controls for Windows applications have come a long way since I started building software. User expectations have also evolved quite a bit. It’s no longer good enough to just build applications that are functional. They also need to look great. This focus on user experience understood by the team at Infragistics, and they keep pushing the bar higher with their controls. If you have a WPF project that needs a great UI, I suggest you take a look at the latest NetAdvantage suite for WPF. You will almost always end up saving money in the long run when you buy instead of build from scratch.

 

Disclosure of Material Connection: I received one or more of the products or services mentioned above for free in the hope that I would mention it on my blog. Regardless, I only recommend products or services I use personally and believe my readers will enjoy. I am disclosing this in accordance with the Federal Trade Commission’s 16 CFR, Part 255: “Guides Concerning the Use of Endorsements and Testimonials in Advertising.

del.icio.us Tags: ,,

Dew Drop – July 10, 2013 (#1,582)

Top Links

 

Web Development

 

XAML

 

Miscellaneous .NET

 

Design / Methodology / Testing

 

Podcasts / Screencasts / Videos

 

Community / Events

 

Database

 

SharePoint

 

Miscellaneous

 

More Link Collections

 

The Geek Shelf

 

Mastodon
github.com/alvinashcraft