Release History

UI for WPF 2011.1315

March 16, 2011

Q1 2011

New Controls:

RadRichTextBox

The RichTextBox control offers broad editing and formatting capabilities with unmatched performance and true Word-like experience.

RadTimeBar Beta

With RadTimeBar, your end-user can easily scroll and navigate through a large time period as well as select a certain date range. RadTimeBar is
blazing fast even when working with a large set of data, providing smooth experience when zooming, scrolling or drilling the data. Use it
independently, or combined with SparkLines to create rich data visualization.

RadDataForm

RadDataForm control will provide UI for displaying and editing properties of an object in a form layout. It will include collection navigation
capabilities, basic data validation and will also respect key DataAnnotation attributes. As all other controls it will be compliant with the "lookless"
concept and provide slick and highly customizable UI.

RadExpressionEditor

RadExpressionEditor provides end users the ability to write and edit complex formula expressions as a free form text. At the same time the new
control gives the developers access to the structured data (in the form of a LINQ expression) about the entered expression. The primary use case for
this component is integration within RadGridView and its LINQ based data engine, which allows unlimited runtime data shaping customizations.

RadMaskedInput

RadMaskedInput controls are designed for masking (controlling correct input) and formatting (displaying) culture specific values like numbers,
currency, dates and text. The controls support data validation and provide great control over the input behavior, navigation, masked text (when in edit
mode), display text (when not in edit mode).

Changes:

RadGridView

Backwards Compatibility:

When horizontal virtualization is turned on the GridViewCellsPanel’s Children collection does not have the realized cells in correct order. Use
RadRowItem.Cells collection instead.

EmptyPointBehavior.Drop – Does not render visible representation for the corresponding empty data point.

EmptyPointBehavior.Zero – Replaces the empty data point with 0 value.

Added RangeBar and HorizontalRangeBar 2D series types.

Added built-in interoperability with RadTimeBar through the RadChart.TimeBar property – once this property is set, the TimeBar selection will be
used to filter the displayed data in the chart control automatically (note that this is supported for scenarios where the XValue is DateTime).

ChartLegend.TitleFontWeight property is now obsolete – use ChartLegend.HeaderFontWeight instead.

Added ChartArea.Command and ChartArea.CommandParameter properties to provide support for ItemClick commanding.

Added HierarchyManager.CurrentItemsSource property that gets the itemssource corresponding to the current hierarchy level.

Added ChartLegend.HeaderFontWeight property that gets or sets the font weight of the header template.

Added RadChart.UpdateLogicalChildren() method that can be used to sync the control state in scenarios where control with non-default layout is used
and the layout is updated dynamically (add/remove ChartArea on the fly).

Added AxisX.ShouldScaleStepOnZoom / ShouldRoundMinValueOnZoom properties that can be used to accomplish a zooming / scrolling scenario where
constant mapping between series items and axis ticks should be preserved (set ShouldScaleStepOnZoom to false and ShouldRoundMinValueOnZoom to true).

Interactivity API now works independently from the series definition interactivity settings (i.e. you can programmatically select item from code
without explicitly enabling interactivity effects for the specific series).

What’s Fixed:

RadChart now propagates inheritance context along the logical tree to support native bindings to DataContext for SeriesMapping, ItemMapping,
SeriesDefinitions, ChartDefautlView, Axes, etc.

Fixed PointMark styling -- it is now possible to customize the shape & appearance of individual point marks through MVVM.

Fixed a problem with additional AxisY not resizing properly when the chart is nested in a scrollviewer.

Fixed series and legend item visibility inconsistency - the legend items will now be collapsed when the series visibility is set to collapsed /
hidden (previously they were only collapsed when the series was collapsed and visible when the series was hidden).

Fixed OverflowException in AxisX when IsZeroBased was set to true in specific scenarios.

Fixed horizontal gridlines disappearing under specific conditions.

Fixed chart freezing when changing XAxis to DateTime.

Fix a problem with Logarithmic Y axis for Range series type.

Fix a problem with the last axis item visibility in specific scenarios.

Fixed NullReferenceException with hierarchy manager in design-time.

SeriesDefinition change notifications (SeriesDefinition will not be cloned unless grouping is enabled, or it is set through DefaultSeriesDefinition
property).

ChartTitle / ChartLegend declared in XAML not getting the instance chart theme correctly if non-default one is used.

User-defined styles not applied properly on all axis-related elements.

Memory leaks in dynamic update scenarios and in scenarios where the ChartArea template is changed.

Binding support for ChartArea.ZoomScrollSettingsX and ZoomScrollSettingsY.

Line chart not drawn correctly in specific scenario (AxisX in “strict” mode and sorting by YValue applied when the items order specified by sorting
differs from the order specified by the strict mode).

Interactivity selected state for scatter point items.

Stacked100 series issue when one of the series contains negative value(s).

NullReferenceException with camera extension in specific 3D series scenarios.

NullReferenceException when ChartArea.Annotations property is set to null.

Unpredicted zooming in specific scenarios with context menu.

PlotAreaMouseEventArgs for scenarios with horizontal charts and for scenarios with logarithmic axis.

Axis.IsZerobased property value cannot be changed in runtime.

Stacked series not refreshed when a data point value changes.

It is now possible to declare individual MarkerShape for different legend items.

Visual interactivity effects not applied for non-default themes.

XmlDataProvider binding issue.

Secondary AxisY disappearing on resize.

NullReferenceException when Funnel3D is loaded but at the same time axes properties are set.

Fixed: Issue with not releasing TreeListViewRows from the memory after calling reset.

Fixed: Issue with TreelistView min height of rows.

Fixed: Drag and Drop event args in RadTreeListView contained only the first of the selected items.

Fixed: RadTreeListView crash when scrolled to bottom and ItemsSource changed.

Fixed: TreeListView - columns cannot be reordered.

RadRibbonBar

What’s New:

Added: A property in order to switch between circle application button and rectangle button.

What’s Fixed:

Unexpected behavior of the RadRibbonDropDown button with a RadColorSelector as a DropDownContent.

When a RibbonGroup's Visibility is Collapsed, the GroupVariants aren't applied as expected.

Changing ItemsSource property is not working as expected.

DialogLauncherButtonStyle dependency property exception is thrown.

RibbonWindow repaint issue.

The selection logic of Tab control is wrong.

When a non-default theme is set, the RibbonBarGallery isn't properly displayed.

When hosted in windows forms ElementHost Variants are not configured correctly on load.

RibbonWindow: Major refactoring.

When ribbon bar is dynamically changed via binding it is not displayed properly and the application button cannot be clicked any more.

RibbonWindow is flickering while resizing.

XBAP ApplicationMenu issues.

RadTileView

What’s New:

Added PreservePositionWhenMaximized property.

Added PreviewTilesStateChanged event.

Added TilesPositionChanged event.

Added Virtualization for scrollable items.

Allow customizable tile sizes in restored state.

Allow restored items to have a fixed size and be wrapped in a scrollviewer.

Allow tiles to have fixed sizes.

Replacing ordered item.

What’s Fixed:

Dynamically theme changing causes minimized items to disappear.

Data binding the Content property of a TileViewItem does not work.

Drag and drop doesn't work properly when you use browser zoom different than 100%.

Dragging does not work in WinForms host.

If you create and show a new window with TileView inside it the drag and drop doesn't work.

Dragging does not work in a floating dock pane.

Incorrect behavior with paging.

MaximizedItem strange behavior when you change the ItemsSource.

Fixed: Memory leak.

Rapidly clicking on item headers while animations are in progress causes a bug.

ScrollBar doesn't hide when you change the ItemsSource.

ScrollBar doesn't refresh its value when you hide items.

ScrollBar hides without setting its offset to zero and leaves some items outside the view area.

Slow animations cause incorrect minimized tiles positions.

Some TileViewItems appear blurred.

Strange rendering of the RadTileView on start/refresh.

The header foreground color is not changed when changing the Theme.

TilesStateChanged and TileStateChanged events don't fire when a RadTileViewItem is removed.

TileView doesn't work when TileState is bound and the first item is Maximized.

When there is a scrollbar, you scroll down and hide an item the other items don't position properly.

When you handle the PreviewTileStateChanged event the ToggleButton is not correct.

RadMap

What’s New:

Added support for multiple map providers – it is now possible to specify several tile providers that will be displayed one over another through the
RadMap.Providers property.

Added support for single image providers through the UriImageProvider class. Note that you can either specify single image for all zoom levels, or
you can specify different image for every distinct zoom level. Also, note that this provider always should have its GeoBounds property set.

Added support for the OSGB36 and EPSG:900913 projections to the EmptyProvider.

Added support for built-in conversion between the following coordinate systems EPSG:4326 <-> OSGB36, and EPSG:4326 <-> EPSG:900913. It allows you
to use shapefiles created for OSGB36 or EPSG:900913 (spherical Mercator with coordinates given in meters) with map providers which uses EPSG:4326
(Mercator with coordinates given as latitude and longitude) so it is possible to show such shapefiles “as is” over the BingMaps or OpenStreetMap
imagery. The converter can be specified through the MapShapeReader.CoordinateConverter property (set it to OSGB36Converter or
EPSG900913Converter).

Added option to customize the commands in the CommandBar for every map provider (see the how-to section in the documentation for more
information).

Added option to restrict panning region for RadMap through the RadMap.GeoBounds property (see the how-to section in the documentation for more
information).

Added option to restrict the region represented by map provider within geographical bounds through the MapProvider.GeoBounds property.

Added two new properties that control the geographical bounds of the information layer:

InformationLayer.Region – Gets or sets the geographical region covered by the layer.

InformationLayer.RegionMode - Gets or sets geographical region size mode. It can be “Static” or “Dynamic” (default). “Static” means that region has
constant geographical location and size which are specified in the Region” property. “Dynamic” means that location and size of the region are
calculated when items are added or removed to/from information layer. Note that if elements are grouped into several regions on the map then it is
recommended to consider using several different information layers as well (one per region).

Added support for MapLayer.ZoomRange attached property for the geographically restricted map providers.

Added option to specify tile size different than the default 256x256 in the TiledMapSource class.

Added support for culture settings to the map sources. Bing map tile sources use value from the RadMap.Language property to show map using the
corresponding culture. Note that Bing imagery service does not provide support for all cultures - see http://msdn.microsoft.com/en-
us/library/cc981048.aspx for the supported cultures.

RadMap.AllowedCommands property is obsolete – use the Commands property of the respective map provider and set the CommandDescription.IsAllowed
property for the desired command to change its availability.

RadMap. ZoomBarPresetsSettings property is obsolete now -- use Command.Text property for the corresponding zoom level command in the
RadMap.MapZoomBar.Commands collection.

Every provider has its own set of commands shown in its CommandBar now (you can access them via the Commands property of the respective
provider).

The InformationLayer is always geographically limited now and does not cover the whole surface of the map but just a part of it In order to improve
precision – since InformationLayer.RegionMode is set to “Dynamic” by default, existing solutions should continue to work without any
modifications.

MapProviderBase class exists but it should not be used as a base class for custom providers any more. All custom map providers should inherit
either from TiledProvider or ImageProvider.

TiledProvider is a base class for map providers that show map as a sequence of tiles (e.g. BingMaps, OpenStreetMap).

ImageProvider is a base class for providers that show map as a single image (UriImageProvider).

Since all existing custom providers (prior to Q1 2011) show map as a sequence of tiles, they should be changed to inherit from the TiledProvider
class. The only property which must be overridden in these custom providers is SpatialReference -- it should return the actual projection used by the
provider (in all existing custom providers prior to Q1 2011 it should be MercatorProjection).

Here is a list of all map source-related changes:

The map provider cannot be used as a map source by itself as it was allowed before.

The logic which provides tiles must be moved to separate class – map source.

All map source classes should inherit either from TiledMapSource, or ImageMapSource classes and override methods depending on the specific map
source type.

TiledMapSource is a base class for map sources that return map tiles (that includes all BingMaps sources: aerial, road, birds eye, and all
OpensStreetMap sources: Mapnik and Osmarenderer).

ImageMapSource is a base class for map sources that return single map image.

Since all existing providers prior to Q1 2011 show map as a sequence of tiles, their new map source classes should inherit from the TiledMapSource
class and meet the following requirements:

It should override the Initialize method.

It should override the GetTile method and existing custom logic should be moved here.

It should call RaiseInitializeCompleted method when the respective custom provider is initialized (in case of simple providers it is enough to call
this method from the override Initialize method).

What’s Fixed:

Fixed issue with corrupted tile image throwing exception.

Fixed issue with using MapPath instances in the DynamicLayer in specific scenarios.

Fixed application freeze when the center and zoom level of map are changed a few times quickly.

Progress, Telerik, and certain product names used herein are trademarks or registered trademarks of Progress Software Corporation and/or one of its subsidiaries or affiliates in the U.S. and/or other countries. See Trademarks for appropriate markings.