WPF, Silverlight, and WinRT/XAML Controls v2014.1 Maintenance Releases

by Avatar Bill Henning (Actipro)
Monday, June 2, 2014 at 9:19am

20141MaintBlogPostBanner

New maintenance of the 2014.1 versions of our WPF, Silverlight, and WinRT/XAML controls have been released and are now available for download.

Major new features are described below.  See the announcement posts for the detailed list of enhancements and updates, including many items not listed below:

ProductHeadingGenericCharts

Auto-Calculation of Tick Mark Intervals

ChartTickCalculation2

XYDoubleAxis, XYDecimalAxis, and XYDateTimeAxis have been updated to auto-calculate tick mark intervals when they aren't specifically set.  A new Axis Ticks QuickStart has been added that shows off automatic tick mark interval calculation.

Rendering Improvements

We've improved the rendering speed of data point labels, improved the rendering logic of bar charts, and updated data point labels to use a subtle border so that they don't blend in with surrounding chart objects of the same color.

Label Performance Improvements

Data point labels in pointer visibility mode now delay layouts until a pointer event occurs, thereby speeding up initial chart display.

Numeric Type Data Upconversion

XYChart now will automatically upconvert non-Double numeric type data to Double type so it can display.

ProductHeadingGenericDataGrid

Child Control Styles Applied to Some Auto-Generated Columns (WPF only)

ThemedDataGrid has been updated to style the child controls of auto-generated ComboBox and CheckBox columns.

ProductHeadingGenericDocking

Disabling Rafting Window Snap-to-Screen (WPF only)

Added the DockSite.IsRaftingWindowSnapToScreenEnabled, which can be set to false to prevent rafting windows from snapping to the closest screen when being displayed.

More Tabbed MDI Tile Options (WPF only)

Overloads to the TabbedMdiHost.TileHorizontally and TileVertically methods have been added that allow for a maximum number of columns/rows.  This permits additional tile configurations, such as a single row of tiles.

ProductHeadingGenericPropertyGrid

Double-Clicks Cycle Values (WPF only)

PropertyGridDoubleClick2

Updated double-clicks on property names to cycle through standard values if available.

CommitPendingChanges Helper Method (WPF only)

A PropertyGrid.CommitPendingChanges method has been added that forces any pending LostFocus bindings within property editors to update and ensure the data model is current.

ProductHeadingGenericSyntaxEditor

Navigable Symbols Hierarchy Support

Navigable symbols now support hierarchy levels and item indentation.  This feature was added to allow XML element hierarchies to be displayed in the NavigableSymbolSelector.

Numerous Minor Enhancements

Many minor enhancements have been made, which can be seen in the detailed update list.

LL(*) Parser Framework

A Grammar.AddChildFrom overload was added that allows for specification of a desired child index.

Web Languages Add-on

XmlNavigableSymbolProvider2

The XML grammar was reimplemented using type-specific AST nodes, thereby reducing overall AST memory usage by an average of 40%.  A XmlNavigableSymbolProvider service was added to the XML language that provides contextual element and attribute display in a NavigableSymbolSelector control.  The XML and HTML editor demos were updated to showcase the new navigable symbol provider features.

ProductHeadingGenericShared

Horizontal ListBox Control

HorizontalListBoxWinRT

The HorizontalListBox control was added, which allows for selection of items that are arranged horizontally with a uniform width.

UniformGrid Control (WinRT / Silverlight only)

UniformGrid3x3

The UniformGrid control was added, which is a Panel that can arrange content in a grid where all the cells in the grid have the same size.

RadialSlider Improvements

RadialSliderSegmented

The RadialSlider class logic for snapping values has been improved.

DelegateCommand (WinRT only)

The DelegateCommand class has been added, which is an implementation of ICommand that uses delegates.

TaskDownload TaskLiveDemo TaskBuyNow

HorizontalListBox Control

by Avatar Bill Henning (Actipro)
Friday, May 2, 2014 at 7:08am

20141ProductNotesBlogPostBanner

Yesterday we posted about a UniformGrid panel control that was being added to our WinRT/XAML and Silverlight Shared Libraries.  This sort of panel is already available in native WPF so no implementation was necessary there.

In today's post, I'd like to show another new control coming to our WPF, Silverlight, and WinRT/XAML control platforms: HorizontalListBox.

Features

The HorizontalListBox control is… wait for it… a standard ListBox that uses a horizontal layout.  In fact it uses a UniformGrid panel with a single row specification to achieve its layout.  This has the benefit of ensuring that each item in the list has an equal width.

This sort of design is great for toggle sorts of controls where there are two or more values from which to choose.  In multi-selection mode, you can also toggle each item individually.

Let's have a look of the WinRT version:

HorizontalListBoxWinRT

Here we have a couple HorizontalListBox controls in place.  One for selecting gender and one for doing multiple selection of days of the week.  Everything is simple and touch-friendly.  Any content can be rendered in the list box items as well.

And here is the WPF version:

HorizontalListBoxWPF

It's the same exact control and API but here it renders in the current theme (in this case Metro Light) via our WPF Themes infrastructure.

Best of all, since this restyled control simply inherits the native ListBox, you have all the features available to you that come from the base native ListBox control.  Our control has some enhancements such as Left/Right arrow key navigation too.

Summary

The HorizontalListBox control will be available in the next 2014.1 maintenance releases of our WPF, Silverlight, and WinRT/XAML Shared Libraries, and will be licensed for use by any of our customers of those control platforms.

TaskDownload TaskLiveDemo TaskBuyNow

UniformGrid Coming to WinRT and Silverlight Controls

by Avatar Bill Henning (Actipro) - 1 comment
Thursday, May 1, 2014 at 7:12am

PostBannerWinRTControlsDevNotes

We've been working on some new controls and while developing one in particular that we'll post about next time, we had a need for a UniformGrid panel.  The UniformGrid panel is already available in native WPF, but isn't available in WinRT/XAML or Silverlight. 

For the next maintenance releases of our WinRT/XAML and Silverlight controls, we rolled our own UniformGrid that has the same properties as the WPF version, making it easy to reuse code across platforms.

Features

The UniformGrid automatically lays out items in a grid such that the row and column counts are the same, and each item in the panel has the same size.

UniformGrid2x2

In this screenshot, the panel has four items in it.  Thus a 2x2 grid is created to display them all.

UniformGrid3x3

In this screenshot, we have seven items so a larger grid is necessary.  A 3x3 grid is used instead.

You also have the option to specify a certain number of rows or columns that should be used.

UniformGrid2Columns

In this screenshot, we have specified that two columns should be used.  The panel therefore creates a 2x4 grid (two columns and four rows).  Note that regardless of layout, items always appear in the same size.

You can see that UniformGrid provides for a lot of interesting layout scenarios, especially when you tell it a certain number of rows or columns to use.

Summary

The UniformGrid panel will be available in the next maintenance release of our WinRT/XAML and Silverlight Shared Libraries and is licensed for use by any of our customers of those control platforms.

Our next blog post will show off another new control coming to our XAML platforms that makes use of this new panel.

TaskDownload TaskLiveDemo TaskBuyNow

RadialSlider Control

by Avatar Bill Henning (Actipro)
Friday, March 21, 2014 at 9:08am

20141ProductNotesBlogPostBanner

The 2014.1 versions of our WPF, Silverlight, and WinRT/XAML controls were released last week and all contain several handy components in them, such as the RingSlice control we talked about several days ago.

In today's post, I'd like to show off the new RadialSlider control.

What is RadialSlider?

The RadialSlider control allows for quick selection of a degree value, which can easily be converted to some form of scalar value.  The control uses an embedded CircularThumb control, but is otherwise transparent.  It is meant to be used in conjunction with the RingSlice control and have that control render the slider's value UI.

RadialSliderBounds   RadialSliderCorner

Radial sliders function just like normal linear sliders however instead of moving the slider thumb in a straight line, the thumb can move in a circular fashion around the slider's center point.  This sort of UI allows for additional precision when compared to linear sliders, especially with touch interaction.

RadialSliderSegmented   RadialSliderWarningLevel

RadialSlider supports minimum/maximum ranges, infinite wrapping mode, customizable thumb styles, and more. 

RadialSliderRange   RadialSliderCustomStyle

Combine two RadialSlider controls on top of each other to enable range-based selection.

Real World Usage Scenario

RadialSlider and RingSlice controls can be used to create radial input controls such as in this sample (included in our download), which mimics a countdown timer in the Windows Alarms app:

RadialSlider

The end user simply grabs the thumbs, either via touch or mouse, and drags in a circular fashion to alter the values.  The RingSlice controls that render the current values track with the dragged thumb.

Summary

The RadialSlider control is available in our WPF, Silverlight, and WinRT/XAML Shared Libraries and is licensed for use by any of our customers of those control platforms.  Download v2014.1 and check it out!

TaskDownload TaskLiveDemo TaskBuyNow

RingSlice Control

by Avatar Bill Henning (Actipro)
Tuesday, March 18, 2014 at 9:32am

20141ProductNotesBlogPostBanner

The 2014.1 versions of our WPF, Silverlight, and WinRT/XAML controls were released last week and all contain several handy components in them.  One that I'd like to talk in more detail about today is the RingSlice control.

What is RingSlice?

The RingSlice control renders a portion (or the entire circle) of a ring shape.  Its start/end angles, radius, thickness, and other stroke properties can be set.

RingSliceFullRing   RingSliceEndCaps

In the screenshots above, we see a RingSlice rendering a full ring and another showing how end caps can be customized.

RingSliceDash1   RingSliceDash2   RingSliceDash3   RingSliceDash4

In the screenshots above, we see how the same RingSlice control can have different stroke settings applied to it to provide dash effects.

Real World Usage Scenarios

Other very interesting composite controls can be created by using the RingSlice control together with other controls.

RingSliceProgress

The screenshot above shows how four RingSlice controls are used to surround a TextBlock and make a segmented progress indicator.  The fill of each RingSlice can be changed as progress occurs, so that the current step is reflected.

RingSliceGraph

Finally, this screenshot shows the radial graph of a numeric value.  Simply animate the end angle of the RingSlice to create a dynamic presentation of the data.

Summary

The RingSlice control is available in our WPF, Silverlight, and WinRT/XAML Shared Libraries and is licensed for use by any of our customers of those control platforms.  Download v2014.1 and check it out!

TaskDownload TaskLiveDemo TaskBuyNow