The first version of WPF was released as part of .NET Framework 3.0 in November 2006. On 11/16/2007, we released the second version of WPF, as part of .NET Framework 3.5 (code-named Orcas). We call this WPF 3.5.
WPF 3.5 has a number of exciting new features and a number of product fixes and improvements, quite a few of them reported and suggested by our customers.
For a full list of the new features in .NET Framework 3.5, check out this article on MSDN and this article on WindowsClient.net. Below is a summary of changes and additions in WPF 3.5. Some of the items below are large features, others are small incremental changes.
|WPF 3.5 Feature||Notes|
|WPF Add-Ins||The "Application Model" team responded to a common request by our customers and delivered a new WPF add-in model (based on the new add-in model in .NET 3.5) that allows developers to create visual add-ins.|
|Improved Cookie Support||Support for session cookies and attaching cookies to resource requests.|
|Firefox Plugin||Now, you can run your XBAPs in Firefox.|
|Improvements to XAML Intellisense|
|RichTextBox hyperlink integration|
|Expose text selection on DocumentViewer|
|Support for Indic text||Support for 15 Indic scripts|
|Dlinq, Xlinq suport|
|Improved debuggability in Data||Support for IDataErrorInfo, support for trace levels, etc.|
|ClickOnce file associations|
|Newly exposed Setters in Controls|
|Transition effects in page transitions|
|IME fixes||Multiple fixes to enable proper IME (input method editor)|
|Serialization of custom TextElements|
|UIElement3D||UIElement3D extends the 3D feature set in WPF, adding support for input, focus and eventing. Check out this post for more.|
|Performance Improvements||Layered windows performance improvements;
Animation smoothing work; Data binding improvements (faster binding from a XML source, improved Blend cold start-up by 11%!); Incremental improvements to cold start, runtime and working set; Incremental improvements to battery life
|BitmapImage.BitmapCacheOption||New BitmapImage cache behavior|
|HwndTarget.SetRenderingModel()||A new API to allow a developer to force SW rendering for a given window.|
|PackUri support for SoundPlayerAction|