
WPF 4
- Transfer
Innovations in WPF 4
WPF (Windows Presentation Foundation) is one of the components of the .NET Framework kernel that allows developers to create rich, various Windows applications. WPF 4 contains important improvements in productivity, productivity, capabilities - in particular in the areas of controls, XAML, text, graphics, integration in Windows 7 (multitouch, integration into the taskbar, etc.), the basic principles of operation, deployment . This is only the first article in a series that describes innovations.
I will write a separate article that will describe the important changes that are coming in WPF and Silverlight constructors in VS 2010.
Controls for building rich applications
WPF 4 adds a variety of controls to make business applications even faster and easier. The new, rich set of controls includes LOB-required controls such as DataGrid, DatePicker, and Calendar. These new controls are 99% behaviorally and API compatible with their Silverlight counterparts, allowing the developer to create compatible web and client applications, streamlining the workflow by reusing Silverlight and WPF code.
Tricks and Tricks
We also release a set of eight controls called the “WPF Bag O 'Tricks”. The set includes: AnimatingTilePanel, ColorPicker, InfoTextBox, ListPager, NumericUpDown, Reveal, TransitionsPresenter, TreeMapPanel.
Windows 7 and the Office Ribbon control The
new WPF Ribbon control will be available almost immediately after the release of WPF 4. It supports all the standard features that the end user is familiar with: bookmarks and groups, dynamic resizing, quick access toolbar, application menu, context-sensitive bookmarks, hotkeys, and more.

The WPF version of Ribbon will have full extensibility to accommodate changes to the manual in future releases. A limited CTP version is available today.
Cached application construction

A huge performance gain is possible with the new WPF4 feature - Cached Composition, which allows applications to cache arbitrary content, including live and fully interactive controls, vector geometry, bitmaps stored in video memory, etc. By placing the elements once in the cache, it can be arbitrarily transformed, animated, controlled, Effects can be applied to them, without the need to redraw the cached elements.
All this saves the CPU and GPU from redrawing the content and allows the GPU to redraw directly from the cache. The cache understands the "dirty" areas, so a blinking cursor in a cached text block, for example, will only have to redraw the cursor between frames. There is even a new brush that uses a "smart" cache, in fact it is VisualBrush with improved performance.
Support for third pixel shaders
WPF is based on the support of the popular ShaderEffect, first introduced in WPF 3.5 SP1, which allows you to create effects using pixel shaders of the 3rd version. PS 3.0 is more complex than PS 2.0, which makes it possible to create irresistible effects on supported hardware.
LayoutRounding
WPF 4 adopted property UseLayoutRoundingintroduced in Silverlight 2. The layout engine often calculates sub-pixel location coordinates. This leads to artifacts when rendering when the element is located at the junction of the subpixel borders and is smoothed over several physical pixels.
UseLayoutRounding will force the layout engine to position elements along all pixel boundaries, therefore, removing most of the artifacts of the drawing caused by this problem, which allows you to create a clean and clear UI by default.
Functions to facilitate animation

Discrete, linear, and spline animations are already supported by previous versions of WPF. WPF 4 introduces the new Easing Functions concept, which allows developers to create different animations. For example, springy movements or add lead to the animation. The Easing Functions determine how the animation starts from beginning to end. Built-in simplification functions provide a range of modes in the animation: circular, exponential, elastic and springy. Simplification features are designed to be easily extensible, allowing developers to create their own. Thanks to this innovation, designers can effortlessly create smooth and organic animations.
CleartypeHint The
newly added CleartypeHint property allows application developers to enable high-quality rendering of Cleartype text when in many situations it was previously disabled. Such situations include text in layered windows, text in VisualBrush, DrawingBrush, BitmapCacheBrush, and wherever the intermediate rendering view will be the previous result in black and white text.
The new text rendering stack
WPF text rendering stack has been completely replaced, a change that leads to significant improvements in the accuracy of text rendering, the ability to change settings and support for international languages. This new text stack supports an optimized character layer to show text with comparable text sharpness in Win32 / GDI: The

new stack also supports explicitly selectable text rendering modes: aliased, grayscale, ClearType.

The new text stack allows you to optimize text binding for animation and statics. In addition, the new text stack supports fonts with built-in image maps, which allows many East Asian fonts to be drawn with the clarity that Win32 users are used to.
BindableRun
With the release of WPF, Run.Text was a simple CLR property. This means that Run.Text lacks all the advantages of the property dependency system in WPF, the most significant of which is the binding. In WPF 4, we converted Run.Text into a dependent property, allowing developers to use Run for data for the first time. More information about this here .
Own dictionaries
WPF includes spell checking, which until the 4th version used dictionaries provided by the OS. This was a big problem for applications that use specific terminology; these applications were annoyed by constant notifications about spelling. WPF 4 introduces an API that allows applications to add words to dictionaries used by WPF for spell checking. More about this here .
Highlight and carriage brush
In a fit to allow developers to customize the rich look of WPF applications, now you can change the brush to select text and carriage through two simple properties - SelectionBrush and CaretBrush:

Multi-touch support

With the introduction of multi-touch input and manipulation support, WPF 4 provides an excellent way to add piquancy to your client application in Windows 7. New manipulation and inertia events have appeared:
Integration with Windows 7 interface
WPF 4 provides new and key functionality in Windows 7 for WPF developers. The new taskbar is cluttered and can convey more information. Aero icons support custom commands. Jump List provides access to the contextual launch of tasks and files for the application.
WPF 4 integrates with Windows 7 Jump List functionality, including:
Panel integration task is Windows 7, including:
In Windows 7, the taskbar has been completely redesigned to reduce clutter and improve user assistance in completing tasks in a few clicks. WPF 4 provides integration with the Windows 7 taskbar in XAML, allowing applications to display useful information to the user through the icons in the taskbar, using overlay icons, progress indicator, icon bar, icon description text and window thumbnails in the taskbar.
A new TaskbarItemInfo class has also appeared, which is extended as a dependency property. It contains all the new features of the taskbar in Windows 7.
Icon overlays (Icon Overlays)
The overlay icon allows the application to display specific notifications and status to the user through its own button in the taskbar, displaying a small overlay that appears in the lower right corner of the button.
Progress Indicator The
button in the task panel can be used to display simple information about progress, relieving the user of the need to open a window to view the status. A progress indicator can be used to track the process of copying files, downloading, installing, writing data to disk, or another operation that takes a certain period of time.
Thumbnail toolbar (Thumbnail Toolbars)

Thumbnail panels provide access to key commands for the application without the need for the user to activate or maximize the application window. This functionality allows application developers to embed application controls directly in the window preview thumbnail. An application can enable, disable or hide buttons from the thumbnail panel depending on the current state.
New XAML / BAML parser engine
In WPF 4, the implementation of XamlReader.Load (), BAML loading, Control & DataTemplate functionality was replaced by a new engine built on the basis of the new System.Xaml.dll. As part of our efforts, we fixed many bugs and added many new functional improvements. XamlReader.Load () users can take advantage of several new language features in XAML2009, such as generic type support. MarkupExtensions and TypeConverters can now access many services by creating an object graph, allowing you to run more scripts, like accessing a Root object. It will be even easier to create tools for analyzing and manipulating XAML with the new low-level APIs provided in System.Xaml.dll.
Data Binding Support for DLR
Unlike CLR classes, members of dynamic objects are declared in runtime. DynamicObject is a new abstract class in the .NET Framework 4 that allows developers to easily implement IDynamicMetaObjectProvider. With DLR support in C # with the new 'dynamic' keyword, we expect some library implementations to move on to using DynamicObject and IDynamicMetaObjectProvider as a standard way to extend runtime declared properties and object chars. Data binding support for IDynamicMetaObjectProvider in WPF 4 allows you to use regular properties to access dynamic properties.
This functionality extends the data binding engine in WPF to indicate to existing properties and indexers the syntax of accessing bound data, to support access to dynamic members of the proposed IDynamicMetaObjectProvider.
Visual State Manager (VSM)
Another new feature supports the WPF-Silverlight continuum in the VisualStateManager, which introduces a new easy way to apply the visual states of controls. The mechanism allows you to customize the appearance and behavior of the control, providing a means of indicating control logic to its corresponding beginning and end of visual states.

VSM is very flexible in generating animation of transition to the corresponding states, therefore, the author of the control spends less time writing code and more time looking at it. This means that VSM can give the author of the control the ability to easily change the behavior and appearance of the controls, as well as change the visual response of the control to a user action. All of this is fully supported in Expression Blend.
HTML-XBAP Script Interop
WPF 4 provides the means for direct communication between XBAP and scripts in a hosted HTML page (where XBAP is loaded into the HTML frame or IFRAME element). XBAP can gain deep access to the HTML DOM, including ActiveX controls embedded in the containing HTML page, as well as handle DOM events.
WPF opens the main script object in the hosted frame. This is a dynamic object that represents a frame window object, as well as any functions or global variables in a script on an HTML page. From it, an application can call script functions directly or access the HTML DOM. This functionality is available in partial-trust XBAP and in all supported versions of Internet Explorer and Firefox.
UIAutomation Virtualization
WPF introduced virtualized controls in previous versions. However, there was no standardized way for a client to automate interactions with a virtualized control. In WPF 4, two new templates for controls were added - ItemsContainerPattern and VirtualizedItemPattern, to support access and interaction with virtualized elements. ItemsContainerPattern is used to access virtualized controls and to search for a virtualized item, and VirtualizedItemPattern to implement virtualized items.
SynchronizedInput Template
This is another UIA control design pattern added in WPF 4. This template is used by automation clients to track the direction of specified input events to the correct WPF element by the framework. This template has three automation events: InputReachedTargetEvent, InputReachedOtherElementEvent, and InputDiscardedEvent to indicate whether input has been processed.
.NET Framework 4 Client Profile
To optimize the deployment size and time of the .NET 4 framework, there is a compact version of .NET that is a subset of the complete .NET 4 framework called the .NET Framework 4 CLient Profile . The current size of the .NET Framework 4 Client Profile distribution is approximately 30 MB. The full version of Microsoft .NET Framework 4 is a slightly advanced version of the Client Profile.
Client Profile contains functionality for most common desktop applications (including Windows Forms and WPF applications), therefore, it is expected that most developers will focus on this version, and not on the full one. For this reason, most Visual Studio 2010 Beta 2 client project templates target the .NET Framework 4 Beta 2 Client Profile by default.
Unlike the .NET Framework 3.5 SP1 Client Profile, version 4 supports all operating systems and platforms, including those supported by the full version: Windows Vista, Windows XP, Windows Servers 2003 and 2008, Windows 7, both x86 and x64.
You can view and change the version of the framework that you focus on development by opening the project properties, and then selecting the Application tab. Next, select the full version or Client Profile in the “Target framework” drop-down list. In the “Publish” properties of the project, you can also select the required version for ClickOnce deployment. In Beta2, VS2010 automatically selects the correct profile, depending on your primary focus of the project:

You will see the same dialog box when creating the “Setup and Deployment” project (“Add New Project” / “Other Project Types”). NET4 Client Profile is highlighted in the default list.
Improvements to the .NET4 Client Profile with respect to the .NET 3.5 SP1 Client Profile
Despite the fact that the Client Profile concept is not new and was introduced in the .NET Framework 3.5 SP1, version 4 of the Client Profile contains several important improvements.
Installing the .NET 4 framework does not require previous versions installed on the system. Consequently, the installation of the .NET 4.0 Client Profile will be several times faster than the .NET 3.5 SP1 Client Profile.
Full trust deployment of XBAP applications
Starting with WPF 4, ClickOnce privilege escalation request is also included for XAML Browser Applications (XBAPs) for intranets and trust zones, making rollout even easier for full-trust XBAP applications. For those applications that require increased security rights than the minimum Code Access Rights (CAS), the user must select "Run" when asked to elevate ClickOnce privileges to run XBAP with the required rights.
As can be seen from the above, there are a lot of innovations in WPF 4.0. Below are a few links and resources where you can explore the new features in more detail:

WPF (Windows Presentation Foundation) is one of the components of the .NET Framework kernel that allows developers to create rich, various Windows applications. WPF 4 contains important improvements in productivity, productivity, capabilities - in particular in the areas of controls, XAML, text, graphics, integration in Windows 7 (multitouch, integration into the taskbar, etc.), the basic principles of operation, deployment . This is only the first article in a series that describes innovations.
I will write a separate article that will describe the important changes that are coming in WPF and Silverlight constructors in VS 2010.
Controls
Controls for building rich applications

WPF 4 adds a variety of controls to make business applications even faster and easier. The new, rich set of controls includes LOB-required controls such as DataGrid, DatePicker, and Calendar. These new controls are 99% behaviorally and API compatible with their Silverlight counterparts, allowing the developer to create compatible web and client applications, streamlining the workflow by reusing Silverlight and WPF code.
Tricks and Tricks
We also release a set of eight controls called the “WPF Bag O 'Tricks”. The set includes: AnimatingTilePanel, ColorPicker, InfoTextBox, ListPager, NumericUpDown, Reveal, TransitionsPresenter, TreeMapPanel.
Windows 7 and the Office Ribbon control The
new WPF Ribbon control will be available almost immediately after the release of WPF 4. It supports all the standard features that the end user is familiar with: bookmarks and groups, dynamic resizing, quick access toolbar, application menu, context-sensitive bookmarks, hotkeys, and more.

The WPF version of Ribbon will have full extensibility to accommodate changes to the manual in future releases. A limited CTP version is available today.
Graphics
Cached application construction

A huge performance gain is possible with the new WPF4 feature - Cached Composition, which allows applications to cache arbitrary content, including live and fully interactive controls, vector geometry, bitmaps stored in video memory, etc. By placing the elements once in the cache, it can be arbitrarily transformed, animated, controlled, Effects can be applied to them, without the need to redraw the cached elements.
All this saves the CPU and GPU from redrawing the content and allows the GPU to redraw directly from the cache. The cache understands the "dirty" areas, so a blinking cursor in a cached text block, for example, will only have to redraw the cursor between frames. There is even a new brush that uses a "smart" cache, in fact it is VisualBrush with improved performance.
Support for third pixel shaders
WPF is based on the support of the popular ShaderEffect, first introduced in WPF 3.5 SP1, which allows you to create effects using pixel shaders of the 3rd version. PS 3.0 is more complex than PS 2.0, which makes it possible to create irresistible effects on supported hardware.
LayoutRounding
WPF 4 adopted property UseLayoutRoundingintroduced in Silverlight 2. The layout engine often calculates sub-pixel location coordinates. This leads to artifacts when rendering when the element is located at the junction of the subpixel borders and is smoothed over several physical pixels.
UseLayoutRounding will force the layout engine to position elements along all pixel boundaries, therefore, removing most of the artifacts of the drawing caused by this problem, which allows you to create a clean and clear UI by default.
Functions to facilitate animation

Discrete, linear, and spline animations are already supported by previous versions of WPF. WPF 4 introduces the new Easing Functions concept, which allows developers to create different animations. For example, springy movements or add lead to the animation. The Easing Functions determine how the animation starts from beginning to end. Built-in simplification functions provide a range of modes in the animation: circular, exponential, elastic and springy. Simplification features are designed to be easily extensible, allowing developers to create their own. Thanks to this innovation, designers can effortlessly create smooth and organic animations.
CleartypeHint The
newly added CleartypeHint property allows application developers to enable high-quality rendering of Cleartype text when in many situations it was previously disabled. Such situations include text in layered windows, text in VisualBrush, DrawingBrush, BitmapCacheBrush, and wherever the intermediate rendering view will be the previous result in black and white text.
Text stack
The new text rendering stack
WPF text rendering stack has been completely replaced, a change that leads to significant improvements in the accuracy of text rendering, the ability to change settings and support for international languages. This new text stack supports an optimized character layer to show text with comparable text sharpness in Win32 / GDI: The

new stack also supports explicitly selectable text rendering modes: aliased, grayscale, ClearType.

The new text stack allows you to optimize text binding for animation and statics. In addition, the new text stack supports fonts with built-in image maps, which allows many East Asian fonts to be drawn with the clarity that Win32 users are used to.
BindableRun
With the release of WPF, Run.Text was a simple CLR property. This means that Run.Text lacks all the advantages of the property dependency system in WPF, the most significant of which is the binding. In WPF 4, we converted Run.Text into a dependent property, allowing developers to use Run for data for the first time. More information about this here .
Own dictionaries
WPF includes spell checking, which until the 4th version used dictionaries provided by the OS. This was a big problem for applications that use specific terminology; these applications were annoyed by constant notifications about spelling. WPF 4 introduces an API that allows applications to add words to dictionaries used by WPF for spell checking. More about this here .
Highlight and carriage brush
In a fit to allow developers to customize the rich look of WPF applications, now you can change the brush to select text and carriage through two simple properties - SelectionBrush and CaretBrush:

Windows 7
Multi-touch support

With the introduction of multi-touch input and manipulation support, WPF 4 provides an excellent way to add piquancy to your client application in Windows 7. New manipulation and inertia events have appeared:
- Multi-touch events Manipulation, Inertia (Pan, Zoom, Rotate) over UIElement
- Simple multi-touch events (Up, Move, Down) over UIElement, UIElement3D and ContentElement
- Capture multiple controls
- Multi-touch support in ScrollViewer
- Touch Device Extensibility
- Future Surface SDK compatible
Integration with Windows 7 interface
WPF 4 provides new and key functionality in Windows 7 for WPF developers. The new taskbar is cluttered and can convey more information. Aero icons support custom commands. Jump List provides access to the contextual launch of tasks and files for the application.
WPF 4 integrates with Windows 7 Jump List functionality, including:
- Tasks
- Items
- List of recently opened and frequently used items
- Own categories

- Progress indicator
- Overlay icons
- Command Buttons with Buttons
- Description text for thumbnails in the window manager
In Windows 7, the taskbar has been completely redesigned to reduce clutter and improve user assistance in completing tasks in a few clicks. WPF 4 provides integration with the Windows 7 taskbar in XAML, allowing applications to display useful information to the user through the icons in the taskbar, using overlay icons, progress indicator, icon bar, icon description text and window thumbnails in the taskbar.
A new TaskbarItemInfo class has also appeared, which is extended as a dependency property. It contains all the new features of the taskbar in Windows 7.
Icon overlays (Icon Overlays)

The overlay icon allows the application to display specific notifications and status to the user through its own button in the taskbar, displaying a small overlay that appears in the lower right corner of the button.
Progress Indicator The
button in the task panel can be used to display simple information about progress, relieving the user of the need to open a window to view the status. A progress indicator can be used to track the process of copying files, downloading, installing, writing data to disk, or another operation that takes a certain period of time.
Thumbnail toolbar (Thumbnail Toolbars)

Thumbnail panels provide access to key commands for the application without the need for the user to activate or maximize the application window. This functionality allows application developers to embed application controls directly in the window preview thumbnail. An application can enable, disable or hide buttons from the thumbnail panel depending on the current state.
WPF Basics
New XAML / BAML parser engine
In WPF 4, the implementation of XamlReader.Load (), BAML loading, Control & DataTemplate functionality was replaced by a new engine built on the basis of the new System.Xaml.dll. As part of our efforts, we fixed many bugs and added many new functional improvements. XamlReader.Load () users can take advantage of several new language features in XAML2009, such as generic type support. MarkupExtensions and TypeConverters can now access many services by creating an object graph, allowing you to run more scripts, like accessing a Root object. It will be even easier to create tools for analyzing and manipulating XAML with the new low-level APIs provided in System.Xaml.dll.
Data Binding Support for DLR
Unlike CLR classes, members of dynamic objects are declared in runtime. DynamicObject is a new abstract class in the .NET Framework 4 that allows developers to easily implement IDynamicMetaObjectProvider. With DLR support in C # with the new 'dynamic' keyword, we expect some library implementations to move on to using DynamicObject and IDynamicMetaObjectProvider as a standard way to extend runtime declared properties and object chars. Data binding support for IDynamicMetaObjectProvider in WPF 4 allows you to use regular properties to access dynamic properties.
This functionality extends the data binding engine in WPF to indicate to existing properties and indexers the syntax of accessing bound data, to support access to dynamic members of the proposed IDynamicMetaObjectProvider.
Visual State Manager (VSM)
Another new feature supports the WPF-Silverlight continuum in the VisualStateManager, which introduces a new easy way to apply the visual states of controls. The mechanism allows you to customize the appearance and behavior of the control, providing a means of indicating control logic to its corresponding beginning and end of visual states.

VSM is very flexible in generating animation of transition to the corresponding states, therefore, the author of the control spends less time writing code and more time looking at it. This means that VSM can give the author of the control the ability to easily change the behavior and appearance of the controls, as well as change the visual response of the control to a user action. All of this is fully supported in Expression Blend.
HTML-XBAP Script Interop
WPF 4 provides the means for direct communication between XBAP and scripts in a hosted HTML page (where XBAP is loaded into the HTML frame or IFRAME element). XBAP can gain deep access to the HTML DOM, including ActiveX controls embedded in the containing HTML page, as well as handle DOM events.
WPF opens the main script object in the hosted frame. This is a dynamic object that represents a frame window object, as well as any functions or global variables in a script on an HTML page. From it, an application can call script functions directly or access the HTML DOM. This functionality is available in partial-trust XBAP and in all supported versions of Internet Explorer and Firefox.
UIAutomation Virtualization
WPF introduced virtualized controls in previous versions. However, there was no standardized way for a client to automate interactions with a virtualized control. In WPF 4, two new templates for controls were added - ItemsContainerPattern and VirtualizedItemPattern, to support access and interaction with virtualized elements. ItemsContainerPattern is used to access virtualized controls and to search for a virtualized item, and VirtualizedItemPattern to implement virtualized items.
SynchronizedInput Template
This is another UIA control design pattern added in WPF 4. This template is used by automation clients to track the direction of specified input events to the correct WPF element by the framework. This template has three automation events: InputReachedTargetEvent, InputReachedOtherElementEvent, and InputDiscardedEvent to indicate whether input has been processed.
Deployment
.NET Framework 4 Client Profile
To optimize the deployment size and time of the .NET 4 framework, there is a compact version of .NET that is a subset of the complete .NET 4 framework called the .NET Framework 4 CLient Profile . The current size of the .NET Framework 4 Client Profile distribution is approximately 30 MB. The full version of Microsoft .NET Framework 4 is a slightly advanced version of the Client Profile.
Client Profile contains functionality for most common desktop applications (including Windows Forms and WPF applications), therefore, it is expected that most developers will focus on this version, and not on the full one. For this reason, most Visual Studio 2010 Beta 2 client project templates target the .NET Framework 4 Beta 2 Client Profile by default.
Unlike the .NET Framework 3.5 SP1 Client Profile, version 4 supports all operating systems and platforms, including those supported by the full version: Windows Vista, Windows XP, Windows Servers 2003 and 2008, Windows 7, both x86 and x64.
You can view and change the version of the framework that you focus on development by opening the project properties, and then selecting the Application tab. Next, select the full version or Client Profile in the “Target framework” drop-down list. In the “Publish” properties of the project, you can also select the required version for ClickOnce deployment. In Beta2, VS2010 automatically selects the correct profile, depending on your primary focus of the project:

You will see the same dialog box when creating the “Setup and Deployment” project (“Add New Project” / “Other Project Types”). NET4 Client Profile is highlighted in the default list.
Improvements to the .NET4 Client Profile with respect to the .NET 3.5 SP1 Client Profile
Despite the fact that the Client Profile concept is not new and was introduced in the .NET Framework 3.5 SP1, version 4 of the Client Profile contains several important improvements.
.NET Framework 4 Client Profile (New) | .NET Framework 3.5 SP1 Client Profile | |
---|---|---|
Supported OS | Supported on all platforms and OS that supports the .NET Framework (excluding IA64 and Server Core role in W2K8) | Supported only on Windows XP 32-bit, on which no version of the .NET Framework is installed anymore. |
Spread | Standard or web download | Download from web only |
Add / Remove Program Components | The full version of the framework consists of two parts - Client Profile and "Extended". This gives us 2 points in "Add / Remove Programs." If you installed the full version of the framework, you can switch to the Client Profile by deleting “Extended” | Only one item in Add / Remove Programs |
Visual studio | Improved support for targeting Client Profile in Visual Studio 2010. By default, most client projects in Visual Studio Beta2 focus on the .NET4 Client Profile. | The only checkmark in Visual Studio SP1 is in the “Application” project setup tab, for .NET 3.5 projects. Out of the box Client Profile support is not available in VS 2008. |
Opportunities | Includes new features of .NET 4 (Managed Extensibility Framework (MEF), C # 4 Dynamic Keyword, etc.), as previously presented in the full version of .NET 3.5 (Speech, WPF Spell Check, etc.) | A subset of the features in the full version of .NET 3.5 SP1 |
Installing the .NET 4 framework does not require previous versions installed on the system. Consequently, the installation of the .NET 4.0 Client Profile will be several times faster than the .NET 3.5 SP1 Client Profile.
Full trust deployment of XBAP applications
Starting with WPF 4, ClickOnce privilege escalation request is also included for XAML Browser Applications (XBAPs) for intranets and trust zones, making rollout even easier for full-trust XBAP applications. For those applications that require increased security rights than the minimum Code Access Rights (CAS), the user must select "Run" when asked to elevate ClickOnce privileges to run XBAP with the required rights.
Conclusion
As can be seen from the above, there are a lot of innovations in WPF 4.0. Below are a few links and resources where you can explore the new features in more detail:
- Channel 9: Chipalo Street talks about what's new and what's new in WPF 4 Text
- Chipalo also produced a series of posts describing the full depth of text stack enhancements in WPF 4
- Channel 9: An example for working with graphics in WPF 4 by David Teitlebaum
- Channel 9: Jossef Goldberg delves into new Client Profile
- Jossef also wrote a detailed post that introduces the .NET 4 Client Profile and details about the new in .NET 4 Beta 2 Client Profile
- Channel 9: Mark Wilson-Thomas Demonstrates What's New in Visual Studio 2010 WPF and Silverlight Constructors
- also additional lab and video on Windows Client.net
- Notes from Jaime Rodriguez, what's new in Visual Studio 2010 WPF and Silverlight constructors in Visual Studio 2010 Beta 2