slide1
Download
Skip this Video
Download Presentation
WPF4

Loading in 2 Seconds...

play fullscreen
1 / 55

WPF4 - PowerPoint PPT Presentation


  • 137 Views
  • Uploaded on

WPF4. Kevin Gjerstad Group Program Manager Microsoft Corporation. Mark Wilson-Thomas Program Manager Microsoft Corporation. Session Objectives. Give you a good understanding of what’s in WPF4.0 Demos . Lots of Good Stuff. Cached compositions Textclarity Layout rounding

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'WPF4' - page


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
slide2

WPF4

Kevin Gjerstad

Group Program Manager

Microsoft Corporation

Mark Wilson-Thomas

Program Manager

Microsoft Corporation

session objectives
Session Objectives
  • Give you a good understanding of what’s in WPF4.0
  • Demos 
lots of good stuff
Lots of Good Stuff
  • Cached compositions
  • Textclarity
  • Layout rounding
  • ClickOnce improvements
  • Multitouch
  • Windows 7 taskbar
  • Windows 7 ribbon
  • Focus mgt improvements
  • Support for UIAccessible2
  • VSM integration
  • Full Trust XBaps
  • Media element improvements
  • Client profile
  • Data controls
  • Accessibility improvements
  • Control themes
  • Chart controls
  • Hundreds of good bug fixes too
  • Plus all the new goodness of .NET Framework 4!
    • Dynamic language support
    • Mef
    • Globalization and NLS improvements
    • Managed/native code interop
    • F#
    • More…
slide5
WPF4
  • Windows 7
  • Fundamentals
  • Features for larger apps (like VS…)
  • Tooling and workflow
wpf for windows 7 rapid application development on win7 innovations
WPF for Windows 7 Rapid Application Development on Win7 Innovations
  • Multi-Touch
  • Taskbar
  • Ribbon
  • Common dialogs
  • File Explorer presence and customization
  • More…
  • Use these with .NET and via XAML in WPF
multi touch in wpf
Multi-Touch in WPF
  • UIElement changes
    • Manipulation events (tracking and interpreter)
    • Touch system gesture events (double-tap and rollover)
    • Raw touch input events (for going to the metal)
  • Multi-touch support in controls
    • ScrollViewer update to accept pan gestures
    • Base controls updated to be multi-touch aware
    • Multi-capture support (for more than one contact point at time)
    • New multi-touch specific controls (e.g. ScatterView)
  • Compatible with Surface SDK 2.0
touch development roadmap
Touch Development Roadmap

NET 4.0 / Surface 2.0 Release

Windows 7 Release

Native

Win32

Application

WinFormsApplication

WPF Application

Surface Application

Surface SDK

1.0

Surface SDK 2.0

Surface

Multi-Touch Controls & API

Multi-Touch Controls

Multi-Touch API

WPF 3.5 SP1

WPF 4.0

Managed Wrapper and Interop

WPF 3.5

Managed Wrapper and Interop

Multi-Touch API and Controls

Surface Hardware

Windows Vista

Surface Hardware

Windows 7

Windows 7

Multi-Touch API

wpf taskbar integration
WPF Taskbar Integration
  • Thumbnails toolbars
  • Icon overlays
  • Progress bars
  • Jumplists
  • With XAML Support
windows api code pack for net
Windows API Code Pack for .NET
  • Vista and Windows 7
    • Restart and recovery
    • Transactions
    • Search
    • Network and power aware
  • Windows 7
    • Sensor platform
    • Federated search
    • Controlling any related services
    • More…
windows api codepack for net framework http windowsapicodepack codeplex com

Windows API CodePack for .NET Frameworkhttp://windowsapicodepack.codeplex.com

wpf ribbon
WPF Ribbon
  • Features
    • Fulfills office fluent UI licensing requirements
    • Ribbon with resizing and layout behavior
    • Ribbontabs
    • Ribbongroups
    • Ribbonapplicationmenu (Pearl)
    • Quickaccesstoolbar
    • Keytips
    • Design time support
wpf tooling improvements
WPF Tooling Improvements

Blend3

  • RAD databinding
  • Easier autolayout
  • Markup extension intellisense
  • More property editors

Visual Studio

Designer

  • Improvements to XAML authoring and workflow
  • VSM
  • Behaviors
  • Transition animations
  • Prototyping tools
fundamentals
Fundamentals
  • Framework deployment
  • Application deployment
  • Improved interop
  • Text clarity
  • Layout rounding/snapping
  • Media improvements
  • UIA – for accessibility and TFS
  • Graphics performance
  • Localization
graphics
Graphics
  • Composition API - give application authors fine grained control over caching rendered elements in video memory
    • An input to a shader effect
    • An image brush to fill any arbitrary 2D shape
    • A texture on a 3D model
layout rounding
Layout Rounding

UseLayoutRounding="True"

  • Rounds an object’s coordinates on whole pixels
framework deployment
Framework Deployment
  • .NET 4 is a Side by Side release!
  • Visual Studio and .NET support multi-targeting
  • Client profile SKU
  • Setup improvements
client profile sku
Client Profile SKU
  • Smaller, Faster NET Framework SKU
    • .NET Framework Client Profile22mb
    • Setup optimizations for ngen, download, etc.
    • Works across ALL CONFIGURATIONS
  • Brandable deployment experience
    • Developers can customize app deployment experience to match brand
    • Can integrate framework and app installers
    • Tools and documentation for creating these packages
  • Easier deployment of applications
    • Developers may use deployment bootstrapper to manage the installation of their app and pre-reqs
    • Will install application after the framework and launch it (.msi, .application or .xbap)
client profile configurator tool
Client Profile Configurator Tool
  • Configurator tool http://www.codeplex.com/wpf/Release/ProjectReleases.aspx?ReleaseId=14962
  • Client profile Configuration designer “How To” series

http://windowsclient.net/wpf/wpf35/wpf-35sp1-start-here.aspx

application deployment
Application Deployment
  • Continuing to make improvements to ClickOnce to enable a more seamless install and upgrade experience
  • 3.5 and SP1
    • Command-line arguments for CO deployed apps
    • File associations for CO deployed apps
    • CO support for FireFox
  • 4.0
    • Background updates and custom install ux
controls
Controls
  • WPF4
    • DataGrid
    • DatePicker
    • VSM
  • Future
    • Chart Controls
    • More…
wpf4 and vs10
WPF4 and VS10
  • Best way to take advantage of Windows 7
  • Solid fundamentals: Deployment and ubiquity, text clarity, interop, performance, controls, and completeness
  • Much improved tooling and designers with VS10 and Blend3
  • Do
    • Download the beta, demos and give us feedback
slide36

Please Complete an Evaluation FormYour feedback is important!

  • Evaluation forms can be found on each chair
  • Temp Staff at the back of the room have additional evaluation form copies
slide37

© 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.

The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

slide38

<r:RibbonTab x:Class="TravelSuru.MapSection.MapViewRibbonTab"

xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"

xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"

Tag="Map" Label="Map">

<r:RibbonTab.Resources>

<r:Item

Command=“AppCommands.LocateMe”

LabelTitle=“Locate Me”

LargeImageSource=“Images/Globe.ico”

/>

<r:Item

Command=“AppCommands.Bookmark”

LabelTitle=“Bookmark”

LargeImageSource=“Images/Favorite.ico”

/>

</r:RibbonTab.Resources>

<r:RibbonGroup x:Name="_LocationGroup">

<r:RibbonGroup.Command>

<r:RibbonCommand LabelTitle="Location"/>

</r:RibbonGroup.Command>

<r:RibbonToggleButton

x:Name="_ToggleLocationButton"

Command="{StaticResourceToggleLocationCommand}"/>

<r:RibbonButton Command="{StaticResourceBookmarkCommand}"/>

</r:RibbonGroup>

slide39

<Application x:Class="TravelSuru.App"

xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"

xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">

<JumpList.JumpList>

<JumpListShowRecentCategory="True">

<JumpTask

Title="Locate Me"

Arguments="/LocateMe" />

<JumpTask

Title="Next Stop"

Arguments="/NextStop" />

<JumpTask

Title="Synchronize"

Arguments="/Synchronize" />

</JumpList>

</JumpList.JumpList>

</Application>

mef extensibility1
MEF Extensibility
  • Simplify creation of open-ended and extensible applications
  • Improve reusability of complex subsystems
  • Build modularized, and decoupled subsystems
slide42

[Export]

[CompositionOptions(CreationPolicy=CreationPolicy.Shared)]

public class MapViewModel: DispatcherObject, INotifyPropertyChanged

{

[Import(typeof(PointsOfInterestProvider))]

ObservableCollection<PointsOfInterestProvider>

_POIProviders = new ObservableCollection<PointsOfInterestProvider>();

MapView is exported as one of the views available for the app

The Map View imports it’s view model

Export("SectionView")]

CompositionOptions(CreationPolicy = CreationPolicy.Shared)]

ExportMetadata("RibbonTab", "Map")]

public partial class MapView : UserControl

{

[Import] private MapViewModel _ViewModel;

wpf taskbar integration1
WPF Taskbar Integration
  • Thumbnails toolbars
  • Icon overlays
  • Progress bars
  • Jumplists
    • With mark-up support
manipulations in wpf
Manipulations In WPF
  • Enable Manipulation with ManipulationMode flags on UIElement
    • TranslateX, TranslateY, Rotation, Scale, SingleTouch
  • Manipulation events on UIElement
    • ManipulationStarted,
    • ManipulationDelta,
    • ManipulationCompleted
    • Routed via bubbling
  • Enable Inertia at ManipulationInertiaStarting
    • Inertial movements as ManipulationDelta Events
  • Manipulation Pivot for Single Touch Rotation
futures
Futures
  • More:
    • Interop
    • Graphics innovation
    • Controls
    • Starter kits, samples, guidance
    • Synergy and compatibility with Silverlight
  • Better application deployment
  • What would you like to see?
one recent wpf app
demo

One Recent WPF App

BD Createur

Content

http://silverlight.services.live.com/invoke/32881/Test%20DB%20Creator/iframe.html

datagrid
DataGrid
  • Features:
    • DataGrid with rows, columns, headers
    • Style-able UI components
    • Auto generation of columns
    • Selection of cell and row
    • Reorder columns
    • Frozen columns
    • Autosizing & resizing of headers
    • Alternating row style
    • Filtering & grouping support
    • Design Time support
interop flexibility and choice
Interop – Flexibility and Choice
  • Better interop (hwnd, html, dx)
  • Managed/Native
    • Easier P\Invokes
    • Customizing TlbImp
    • PIAs as header files
    • New Libraries
  • New Interop
    • DX, GDI, XNA, Etc.
xaml futures
XAML Futures
  • [MS-WPFXV]
    • WPF’s file format was published [MS-WPFXV] WPF XAML Vocabulary 2006
  • .NET 4 has a new XAML parser
    • Faster
    • More extensibility during XamlReader.Load and XamlWriter.Save
    • BAML file format has public APIs to Read/Write
  • .NET 4’s XAML parser has new XAML Language features
    • Ability to use generics               
    • Better References by Name
slide for showing developer s software code
Slide for Showing Developer’s Software Code
  • Use this layout to show software code
    • The font is Courier, a monospace font
    • The slide doesn’t use bullets but levels can be indented using the “Increase List Level” icon on the Home menu
ad