Release History

New Features
& Roadmap

UI for Silverlight 2011.1315

March 16, 2011

Q1 2011

New Controls:

RadScheduleView

The ScheduleView empowers end users with unprecedented control over precision and flexibility when handling their appointments. This is achieved
through features such as multi-level grouping, powerful zoom for smart navigation through a large number of appointments and blazing fast scrolling.

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.

RadSpellChecker

RadSpellChecker can check the spelling of various input controls. It can be even adapted to work with your custom controls and use custom
dictionaries. You can integrate it to work over the RadGridView cells.

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:

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.

3D Pie / Doughnut slices not rendered for really small YValues.

Minor gridlines disappearing occasionally on zoom.

ItemsPanelOrientation binding error shown in Output addressed.

RadRichTextBox

What’s New:

Bookmarks support + Hyperlink refactoring.

Comments UI Similar to MS Word.

New "Annotation" document elements used to mark contextual regions in the document, such as, comments bookmarks, hyperlinks.

New Design Time Wizard for RadRichTextBox.

Localization support.

Multi-level lists support.

RadRichTextBox version for WPF.

RTF format provider that supports import/export of rtf documents.

Introduced FontManager as a source for available fonts in all UI components.

Added: Focus, MouseOver and Validation states.

Implement ICommand.CanExecute and raise CanExecuteChanged from Undo and Redo commands of RadRichTextBox.

Introduce RoutedCommands, that work with CommandBindings and KeyBindings.

Added: Table CellSpacing property.

Added: Height property for TableRow.

VerticalAlignment property in table cells.

What’s Fixed:

Handle errors when loading assemblies with MEF.

ContextMenu - Memory leak when showing.

ContextMenu loads its menu items more than once.

DocumentContentChanged event not fired on image resize.

DocumentElementCollection.Clear() doesn't fires the remove event of its children.

HighlightColorPicker occasionally throws KeyNotFoundException.

Import does not merge Spans leads to problems with insert text/undo.

Importing Word Documents containing DOCX text boxes and exporting them to HTML causes an exception or improper export to HTML.

InsertSymbolDialog: Current RadRichTextBox's font is not loaded initially.

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:

Backstage alignment issues when the browser is zoomed.

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.

Assembly Minifier

What’s New:

Styling XapMinifier.

Optimize XAPs.

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 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.

Fixed BingMapsProvider does not work when the Silverlight Application is set as startup project (and not the Web Application as it is the default
option).

Fixed design-time issue BingMapProvider crashing when opened in the designer.

RadSparklines

What’s Fixed:

The control will not throw an exception when measured with infinity.

Fixed crashes when certain components are individually added in Blend.

RadBulletGraph

What’s Fixed:

Bulletgraph now propagates inheritance context along the logical tree to support native bindings to DataContext.

Fixed issue when all QualitativeRanges have value equal to double.NaN.

Fixed crashes when certain components are individually added in Blend.

Improved Blend design time support by creating a better drag and drop and styling experience.

RadDomainDataSource

What’s Fixed:

RadDomainDataSource Load will now be disabled while there is pending change.

RadDomainDataSource will now correctly AutoLoad when the Value of a QueryParameter changes.

Fixed: When a QueryParameter.Value changes, an exception is thrown if the pages of data coming back are less than the previous amount and the user
was on a page that does not exist anymore.

RadDragAndDrop

What’s Changed:

DragQuery is no longer raised with DropImpossible DragStatus when there is not approved destination.

What’s New:

Added: CurrentCursor property in DragOptions to change current mouse cursor while dragging.

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.