#18 – Silverlight and WPF Differences
July 30, 2010 1 Comment
Silverlight’s original name was WPF/E (WPF/Everywhere), underscoring the fact that Silverlight follows the same programming model as WPF and uses many of the same controls, but is based on a client library that is downloaded from the browser and targeted to run on a wider variety of platforms.
Core differences between WPF and Silverlight:
- WPF runs only on Windows platforms
- WPF expects .NET Framework to already be present on client
- Silverlight can use a subset of all WPF controls
- Silverlight uses a subset of the full .NET Framework and the CLR
Features present in WPF but not in Silverlight:
- Flow document support
- Dynamic resources
- Merged dictionaries
- Resetting a style to a new FrameworkElement
- Style inheritance
- Implicit styles with TargetType attribute
- Triggers for Styles, ControlTemplates, DataTemplates.
- Larger number of data binding features
- Routed commands
- Declaratively associate controls and commands
- Inherit from UIElement
- Custom markup extensions
- Runtime-accessible visual and logical trees
- Controls: AccessText, BulletChrome, ButtonChrome, ContextMenu, Decorator, DocumentPageView, DocumentViewer, GridViewColumnHeader, GridViewRowPresenter, GroupBox, GroupItem, InkCanvas, Menu, MenuItem, PageContent, Ribbon, Separator, StatusBar, TickBar, ToolBar, Track, UniformGrid,
Features present in Silverlight but not in WPF:
- Deep Zoom
- Controls: AutoCompleteBox, DataPager, DescriptionViewer, HyperlinkButton, MultiScaleImage, NumericUpDown, ValidationSummary