Silverlight Toolkit March 2009 changes

The following list encompasses all change made between the Silverlight Toolkit December 2008 release and the Silverlight Toolkit March 2009 release.
To see the changes made from the Silverlight Toolkit November 2008 release and the Silverlight Toolkit December 2008 release please see the Silverlight Toolkit December 2008 change list.

New Controls, Themes and Chart Series

  • Introduced a new Charting Series – AreaSeries.

You need to install Microsoft Silverlight to view this content. Get Silverlight!
Get Microsoft Silverlight

  • New LayoutTransformer control that introduces to Silverlight the concept of a LayoutTransform.

You need to install Microsoft Silverlight to view this content. Get Silverlight!
Get Microsoft Silverlight

  • New Accordion control that represents a collection of collapsed and expanded AccordionItem controls.

You need to install Microsoft Silverlight to view this content. Get Silverlight!
Get Microsoft Silverlight

  • New DomainUpDown control that enables single value selection from a domain of values through a Spinner and TextBox.

You need to install Microsoft Silverlight to view this content. Get Silverlight!
Get Microsoft Silverlight

  • New TimeUpDown control that uses a spinner and textbox to allow a user to input time.

You need to install Microsoft Silverlight to view this content. Get Silverlight!
Get Microsoft Silverlight

  • New TimePicker control that allows the user to select a time. By default uses ListTimePickerPopup which is a time picker popup that allows choosing time from a ListBox.

You need to install Microsoft Silverlight to view this content. Get Silverlight!
Get Microsoft Silverlight

  • New Theme Bubble Creme.

You need to install Microsoft Silverlight to view this content. Get Silverlight!
Get Microsoft Silverlight

  • New Theme Twilight Blue.

You need to install Microsoft Silverlight to view this content. Get Silverlight!
Get Microsoft Silverlight


Breaking Change: Moved to System.Windows.Controls.* namespaces & assemblies

We've changed our root namespace from Microsoft.Windows.Controls.* namespace to System.Windows.Controls.* namespaces.
When adding controls, please consulate the following table on which Assemblies you should add reference to:
Control \ Silverlight Version Silverlight 2 Required Assemblies Silverlight 3 Required Assemblies
TreeView System.Windows.Controls.Toolkit.dll System.Windows.Controls.dll
HeaderedContentControl System.Windows.Controls.Toolkit.dll System.Windows.Controls.dll
HeaderedItemsControl System.Windows.Controls.Toolkit.dll System.Windows.Controls.dll
DockPanel System.Windows.Controls.Toolkit.dll System.Windows.Controls.dll
WrapPanel System.Windows.Controls.Toolkit.dll System.Windows.Controls.dll
Expander System.Windows.Controls.Toolkit.dll System.Windows.Controls.dll
ViewBox System.Windows.Controls.Toolkit.dll System.Windows.Controls.dll
Label System.Windows.Controls.Toolkit.dll System.Windows.Controls.dll
AutoCompleteBox System.Windows.Controls.Input.Toolkit.dll & System.Windows.Controls.Toolkit.dll System.Windows.Controls.Input.dll & System.Windows.Controls.dll
GrisSplitter System.Windows.Controls.dll System.Windows.Controls.dll
TabControl System.Windows.Controls.dll System.Windows.Controls.dll
DatePicker System.Windows.Controls.dll System.Windows.Controls.dll
Calendar System.Windows.Controls.dll System.Windows.Controls.dll
Calendar System.Windows.Controls.dll System.Windows.Controls.dll
Calendar System.Windows.Controls.dll System.Windows.Controls.dll
DataVisualization/Charting System.Windows.Controls.DataVisualization.Toolkit.dll System.Windows.Controls.DataVisualization.Toolkit.dll
ImplicitStyleManager System.Windows.Controls.Theming.Toolkit.dll System.Windows.Controls.Theming.Toolkit.dll
Any Theme System.Windows.Controls.Theming.ThemeName.Toolkit.dll & System.Windows.Controls.Theming.Toolkit.dll System.Windows.Controls.Theming.ThemeName.Toolkit.dll & System.Windows.Controls.Theming.Toolkit.dll
Accordion System.Windows.Controls.Layout.Toolkit.dll & System.Windows.Controls.Toolkit.dll & System.Windows.Controls.dll System.Windows.Controls.Layout.Toolkit.dll & System.Windows.Controls.Toolkit.dll & System.Windows.Controls.dll
LayoutTransformer System.Windows.Controls.Layout.Toolkit.dll & System.Windows.Controls.Toolkit.dll & System.Windows.Controls.dll System.Windows.Controls.Layout.Toolkit.dll & System.Windows.Controls.Toolkit.dll & System.Windows.Controls.dll
TranstioningContentControl System.Windows.Controls.Layout.Toolkit.dll & System.Windows.Controls.Toolkit.dll & System.Windows.Controls.dll System.Windows.Controls.Layout.Toolkit.dll & System.Windows.Controls.Toolkit.dll & System.Windows.Controls.dll
NumericDown System.Windows.Controls.Input.Toolkit.dll & System.Windows.Controls.Toolkit.dll & System.Windows.Controls.dll System.Windows.Controls.Input.Toolkit.dll & System.Windows.Controls.Toolkit.dll & System.Windows.Controls.dll
TimeUpDown System.Windows.Controls.Input.Toolkit.dll & System.Windows.Controls.Toolkit.dll & System.Windows.Controls.dll System.Windows.Controls.Input.Toolkit.dll & System.Windows.Controls.Toolkit.dll & System.Windows.Controls.dll
TimePicker System.Windows.Controls.Input.Toolkit.dll & System.Windows.Controls.Toolkit.dll & System.Windows.Controls.dll System.Windows.Controls.Input.Toolkit.dll & System.Windows.Controls.Toolkit.dll & System.Windows.Controls.dll
DomainUpDown System.Windows.Controls.Input.Toolkit.dll & System.Windows.Controls.Toolkit.dll & System.Windows.Controls.dll System.Windows.Controls.Input.Toolkit.dll & System.Windows.Controls.Toolkit.dll & System.Windows.Controls.dll
DataGrid System.Windows.Controls.Data.dll System.Windows.Controls.Data.dll & System.ComponentModel.dll & System.ComponentModel.DataAnnotations.dll
Page N\A System.Windows.Controls.Navigation
Frame N\A System.Windows.Controls.Navigation
DataForm N\A System.Windows.Controls.Data.DataForm.dll & System.ComponentModel.DataAnnotations.dll & System.ComponentModel.dll
ErrorSummary N\A System.Windows.Controls.Data.DataForm.dll & System.ComponentModel.DataAnnotations.dll & System.ComponentModel.dll
DataPager N\A System.Windows.Controls.Data.DataForm.dll & System.ComponentModel.DataAnnotations.dll & System.ComponentModel.dll
FieldLabel N\A System.Windows.Controls.Data.DataForm.dll & System.ComponentModel.DataAnnotations.dll & System.ComponentModel.dll
DescriptionViewer N\A System.Windows.Controls.Data.DataForm.dll & System.ComponentModel.DataAnnotations.dll & System.ComponentModel.dll


AutoCompleteBox

  • SelectedItem is now a settable property, enabling improved data binding.
  • ValueMemberBinding is a new property of type Binding that can be used to set the binding used for determining the text value of a bound data object.
  • Converter, ConverterParameter, ConverterCulture dependency properties have been removed, replaced by the single ValueMemberBinding property. Existing converters should easily work as the Converter property of the new binding property.

Theming

  • Added 2 new themes: BubbleCreme & TwilightBlue
  • Fixed bugs for the following themes: Expression, Rainier and Bureau
  • Sample Theme Browser improvements to better highlight the themed controls.

TreeView

  • Fixed issue where it was possible to get two items selected when setting selection state on TreeViewItems not yet expanded.
  • Fixed issue where setting focus to the TreeView would cause the first item to become selected. (CodePlex issue 1360 with 17 votes and 1511, 5 votes).
  • Fixed an edge case where attempting to scroll an item into view in a TreeView would give inconsistent results due to the wrong width values being used. (CodePlex issue 1583, 1 vote)

HierarchicalDataTemplate

  • Has been moved to the System.Windows namespace.

Viewbox

  • Fixed: Viewbox named child does not populate on InitializeComponent.

Calendar

  • Fixed: ListBoxItem Accessibility: Browsers crash/restart when spying calendar that inside of a listbox
  • Fixed: Under very rare circumstances it was possible to crash the browser when clicking on the Calendar. Issue was never reported by users, only discovered during stress tests.

DatePicker

  • Fixed: DatePicker watermark text could get into an inconsistent state when date was set programmatically.
  • Fixed: If the DatePicker is not the first control in a StackPanel, the Calendar stays open and covers other UI.
  • Fixed: Under very rare circumstances it was possible to crash the browser when clicking on the DatePicker. Issue was never reported by users, only discovered during stress tests.

GridSplitter

  • Fixed: GridSplitter default style has extraneous x:Key that Silverlight ignores but Blend considers invalid XAML.

TabControl

  • Fixed: TabControl does not use ContentTemplate of tab items.

Charting Notable Changes

  • Significant performance improvements to many parts of the Charting framework yielding noticeable speed-ups for scenarios dealing with large data sets.
  • Added new Series type, AreaSeries, which is used just like LineSeries. The addition of AreaSeries means that we now support all of the major chart types offered by the top level of Excel's ribbon.
  • Any Series can now use CategoryAxis as its independent value axis. Specifically, it is now possible to create a line chart with values on the vertical axis and categories (ex: Dogs, Cats, Fish) on the horizontal.
  • Added Dependent/IndependentValuePath string properties to simplify the experience of binding to data object properties. Made these properties the defaults at design time due to their ease of use.
  • Design-time enhancements for Blend, including default XAML for a newly dropped Chart, improved metadata, and a slightly improved workflow.
  • Added Origin and ExtendRangeToOrigin properties to LinearAxis and DateTimeAxis to enable more scenarios where these axes are used for dependent values.
  • Changed the types of the Chart.Series/Axis properties to improve the code- and design-time experience. When adding a new item to these collections, Blend now automatically filters the list and displays only valid types.
  • ExtendRangeToOrigin not available on DateTimeAxis. We don’t support custom origins for DateTimeAxis…yet. We're not convinced anyone wants them. The IRangeAxis interface has a read-only Origin property which is null for DTA.
  • Fixed a memory leak that could occur when a Chart was removed from the visual tree and had one or more Series with their ItemsSource properties set to an ObservableCollection<T> owned by the application.
  • Improved the default Template of ScatterDataPoint to improve performance and provide more consistent behavior.
  • Various architectural changes to improve the current and future programmability story for Charting.
  • Various UI improvements and bug fixes for issues reported by customers or found internally.

Charting Breaking Changes

  • Assembly name changed to System.Windows.Controls.DataVisualization.Toolkit.dll (part of a Toolkit-wide change)
  • Namespace root changed to System.Windows.Controls.DataVisualization (part of a Toolkit-wide change)
  • Switched AxisOrientation values from Horizontal/Vertical to X/Y for clarity and future-proofing.
  • As a consequence of the above change adding more flexible axis support to Series, the Series's axis properties have been renamed to be more general (ex: IndependentRangeAxis -> IndependentAxis).
  • Chart default template changes to make things a bit easier for designers to customize. New EdgePanel primitive makes this process more straightforward.
  • Legend is now a TemplatePart of Chart; correspondingly its LegendItems property has been removed.
  • Removed the MarkerWidth/MarkerHeight properties for Line/ScatterSeries; the defaults are now set by the default templates for Line/ScatterDataPoint and can be customized by re-Templating in the usual manner.

Last edited Jun 29, 2009 at 10:26 PM by shawnoster, version 13

Comments

miansaqibali Feb 1, 2010 at 7:14 AM 
In datepicker the override keydown event does not catch the enter key .

slgavin Aug 4, 2009 at 5:02 PM 
In SL3, if we put WrapPanel in ListBox's ItemsPanel like this:
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<control:WrapPanel Orientation="Horizontal" VerticalAlignment="Top" HorizontalAlignment="Left"></control:WrapPanel>
</ItemsPanelTemplate>
</ListBox.ItemsPanel>

It will cause memory leak. Anybody knows how to solve the problem?

bmdayal Jul 15, 2009 at 10:31 AM 
SL3 System.Windows.Control.dll does not have Label as mentioned above in the upgrade dll list.

bwhalversen Mar 26, 2009 at 8:22 PM 
Are the changes to the DatePicker discussed above in the SL 3.0 beta 1 SDK or in a newer version SL 2.0 SDK or in both?

shawnoster Mar 25, 2009 at 10:23 PM 
@bwhalversen - which DatePicker comment are you referring to? The DatePicker source is available in the Toolkit while the signed assembly is distributed via the SDK, this is the reason it is referred to as a "Silverlight Toolkit control". When controls meet a stable quality band then their binaries migrate from the toolkit into the SDK. I hope that clears up why we talk about DatePicker in our release notes.

bwhalversen Mar 25, 2009 at 12:06 AM 
I see no DatePicker in the March 2009 Toolkit release. What is the meaning of the DatePicker update comment above? Reflector does not show a DatePicker in the March Toolkit.

mscherotter Mar 24, 2009 at 8:33 PM 
HierarchicalDataTemplate is now in this namespace: "clr-namespace:System.Windows;assembly=System.Windows.Controls.Toolkit"

jsloan Mar 23, 2009 at 4:25 PM 
In the TimePicker example the initial value that is bound is not showing up in the input box. Is this expected? It does appear to be selected in the popup's listbox correctly though.

JustinJosefAngel Mar 22, 2009 at 6:01 AM 
Thanks for your comments folks, due to your feedback we've changed most of the samples on the site to run on Silverlight 2.

computo Mar 21, 2009 at 2:25 PM 
Forgot to mention, I do not have the SL Beta 3 client installed... just version 2.0.40115.0

computo Mar 21, 2009 at 2:23 PM 
Same issue with samples above stopping at 100% loaded, but not displaying. This occurs in IE7 & Chrome for me as well.

GregNeilson Mar 19, 2009 at 4:19 PM 
I've got the SL Beta 3 client installed, and none of the samples show up (all stopped at 100% loaded). Running Firefox 3.0.7 on Vista Ultimate. Running under IE7 all works fine.