SlideShare a Scribd company logo
Build 2017 - B8100 - What's new and coming for Windows UI: XAML and composition
@windowsui
Build 2017 - B8100 - What's new and coming for Windows UI: XAML and composition
CONSUMERS INFORMATION WORKERS DEVELOPERS
Outcome: Engagement Outcome: Productivity Outcome: High ROI
Framework layer
Controls, Layout, Styling, Accessibility, Data
binding, Pre-packaged behaviors & Patterns
Visual layer
Lightweight visual rendering, Animations &
Natural motion, Effects, Dimensionality,
Lighting & Shadows
Graphics layer
Drawing, Text rasterization, Shape & Vector
rasterization, Ink rendering
Windows.UI.XAML
Windows.UI.Composition
DirectX Family
Possible Easy Default
A-B-C
Highest
Differentiation:
Signature or Hero
Navigation, Themes
Natural Motion
Patterns, Controls,
Input,
Scaling & Orientation
Layout, Typography, Animation
Color & Effects, Icons
Performance & Scalability
Differentiators - Within a framework, UX can
differ in these ways to be unique
P E R S O N A L
Basics – UX should be consistent in these ways
U N I V E R S A L
Differentiated UX based on:
 Brand
 Audience – User Intent
 Device Context
Highest
Differentiation:
Signature or Hero
Navigation, Themes
Natural Motion
Patterns, Controls,
Input,
Scaling & Orientation
Layout, Typography, Animation
Color & Effects, Icons
Performance & Scalability
Creators
Update
Fall Creators
Update
Beyond
Highest
Differentiation:
Signature or Hero
Navigation, Themes
Natural Motion
Patterns, Controls,
Input,
Scaling & Orientation
Layout, Typography, Animation
Color & Effects, Icons
Performance & Scalability
Lighting, Shadows
Lighting, Shadows
Real-world UI: Dimensionality
Real-world UI: Shapes, Micro Animations
Tailoring UI for Device
Realistic depth & volume
for 2D apps in HMD
Parallax, Conscious headers,
Choreographed UI
Forms over data
Nav View, Tree View
HDR and Advanced Color
Adaptability
Input driven
Animations
Canned Physics (Spring, Bounce, Hinge),
Physics Engine integration
Modern UI in Win32, WPF,
WinForms
Materials
Reveal
Semantic Animations
Interactive 2D/3D Data
Visualization
SVG in Image
Creators
Update
Fall Creators
Update
Beyond
1.
2.
3.
4.
R E A L - W O R L D U I
Lighting
Materials and Effects
Shapes with micro-animations
R E A L - W O R L D U I
Lighting
Point, Spot, Distant, Ambient Lights.
Used with Scene Light Effect
Drop Shadows, Future: Light based
Shadows
XAML Light,
Control over exclusion and
intensity
Reveal and its use in ListView /
TreeView / NavigationView /
AutosuggestBox,
Future: Realistic depth and shadows
A-B-C
REVEAL
<Button Content="Button Content" Style="{StaticResource ButtonRevealStyle}"/>
REVEALREVEAL
Build 2017 - B8100 - What's new and coming for Windows UI: XAML and composition
Build 2017 - B8100 - What's new and coming for Windows UI: XAML and composition
ACRYLIC
App or Desktop background
Gaussian blur
Exclusion blend
Color tint (optional)
Noise texture
<Grid Background="{ThemeResource SystemControlAcrylicElementBrush}"/>
 Acrylic
 Backdrop brush, can
sample from desktop or
app background
public ImageEffectBrush : XamlCompositionBaseBrush
{
// implementation can use any Visual layer effects
}
<TextBlock Text="Hello World">
<TextBlock.Foreground>
<local:ImageEffectBrush />
</TextBlock.Foreground>
</TextBlock>
Explore the next gen innovation in the Visual layer (B8037, Lindsay/Kelly)
Build 2017 - B8100 - What's new and coming for Windows UI: XAML and composition
Build 2017 - B8100 - What's new and coming for Windows UI: XAML and composition
Build 2017 - B8100 - What's new and coming for Windows UI: XAML and composition
Want to help shape this?
aka.ms/windowsui/shapes
Lighting
Materials and Effects
Shapes with Micro-
Animations
R E A L - W O R L D U IR E C A P
N A T U R A L M O T I O N
Seamless transitions
Dynamic motion
Semantic animations
N A T U R A L M O T I O N
Build 2017 - B8100 - What's new and coming for Windows UI: XAML and composition
Build 2017 - B8100 - What's new and coming for Windows UI: XAML and composition
Build 2017 - B8100 - What's new and coming for Windows UI: XAML and composition
// play an animation when this UIElement is shown
ElementCompositionPreview
// play an animation when this UIElement is hidden
ElementCompositionPreview
// event handler on Master page
private void object ItemClickEventArgs
var GridViewItem
"Image"
var ConnectedAnimationService
"Image"
// navigation handler on Details page
private override void NavigationEventArgs
var ConnectedAnimationService
"Image"
Build 2017 - B8100 - What's new and coming for Windows UI: XAML and composition
Input driven animations:
Interaction Tracker, Inertia modifiers,
Source modifiers, Position trackers
Parallax, Conscious Headers,
Pull to Refresh
Future: Integrating Physics engines
Physical motion: spring, bounce,
attraction
Perceived physics with the use of
Triggers, Noise
Future: New XAML Scroller
Future: Motion and
Patterns embodied by
Controls and implicit
animations as part of the
Windows “personality”
A-B-C
Build 2017 - B8100 - What's new and coming for Windows UI: XAML and composition
master.xaml
details.xaml
ConnectedAnimations.Id="{x:Bind Id}"
master.xaml
ConnectedAnimations.Id="{x:Bind
CurrentItem.Id}"
details.xaml
❶
❷
<Page.Animations>
<FadeOutExit Duration="0.3s" />
</Page.Animations>
master.xaml
<Grid.Animations>
<SlideInEntrance From="0,-80,0"
Duration="0.4s" />
</Grid.Animations>
<ListView.ItemAnimations>
<SlideInEntrance Duration="0.4s"
StaggerDelayFactor="0.3" />
</ListView.ItemAnimations>
details.xaml
❶
❷
❸
❹
❺
Concepts:
• Connected Animation conveniences
• Behaviors
e.g. FadeOutExit, SlideInEntrance
• Triggers
e.g. Entrance, Exit, PropertyChanged, etc. or custom
• Expressive library of stock animations
• Customize + Use Storyboard animations and/or
Composition Animations
Feedback? Let us know:
aka.ms/windowsui/semanticanimation
Seamless transitions
Dynamic motion
Semantic animations
N A T U R A L M O T I O NR E C A P
U I C O N T R O L S & P A T T E R N S
Building blocks
Patterns
Encapsulation as default
U I C O N T R O L S
Interaction Tracker, Materials and
Lighting, Input, Repeatable UI
A-B-C
Parallax velocity, conscious headers,
context menus, swiping/pulling to
reveal, keyboard input, hierarchical
views
A-B-C
A-B-C
• ParallaxView
A-B-C
• ParallaxView
• RefreshContainer
A-B-C
• ParallaxView
• RefreshContainer
• SwipeContainer
A-B-C
Build 2017 - B8100 - What's new and coming for Windows UI: XAML and composition
• ParallaxView
• RefreshContainer
• SwipeContainer
• TreeView
A-B-C
• ParallaxView
• RefreshContainer
• SwipeContainer
• TreeView
• ContentDialog
• ContextFlyout
A-B-C
• ParallaxView
• RefreshContainer
• SwipeContainer
• TreeView
• ContentDialog
• ContextFlyout
• AccessKey
A-B-C
• ParallaxView
• RefreshContainer
• SwipeContainer
• TreeView
• ContentDialog
• ContextFlyout
• AccessKey
• RatingsControl
A-B-C
• ParallaxView
• RefreshContainer
• SwipeContainer
• TreeView
• ContentDialog
• ContextFlyout
• AccessKey
• RatingsControl
• ColorPicker
A-B-C
• ParallaxView
• RefreshContainer
• SwipeContainer
• TreeView
• ContentDialog
• ContextFlyout
• AccessKey
• RatingsControl
• ColorPicker
• Future: Repeater
A-B-C
LayoutDataSource
UIElement
UIElement
UIElement
ViewGenerator
Repeater
Building blocks
Patterns
Encapsulation as default
U I C O N T R O L SR E C A P
S C A L E : U P A N D O U T
Build 2017 - B8100 - What's new and coming for Windows UI: XAML and composition
<Application ...>
<uap:VisualElements>
<uap:SplashScreen Image="AssetsSplashScreen.png" />
</uap:VisualElements>
</Application>
<Application ...>
<uap:VisualElements>
<uap:SplashScreen Image="AssetsSplashScreen.png"
Optional="True" />
</uap:VisualElements>
</Application>
 Respect the user
 Respect the user
 Respect the device
<StackPanel x:Name="MyLargeSecondaryUI"
Visibility="Collapsed" >
<!--
some large chunk of UI that may rarely be seen but
we are too lazy to dynamically load because we love
our markup
:-D I kid, I kid!
-->
</StackPanel>
<StackPanel x:Name="MyLargeSecondaryUI"
x:Load="{x:Bind MyViewModel.ShouldShowSecondaryUI}">
<!--
some large chunk of UI that may rarely be seen but
we are too lazy to dynamically load because we love
our markup
:-D I kid, I kid!
-->
</StackPanel>
Tips and Tricks for Creating Performant UI in UWP (P4173, David Li)
DESKTOP BRIDGE
Win32
UI
Windows
UI
DESKTOP BRIDGE
Windows UIWin32 UI
EXISTING SUPPORT PLATFORM WILL ENABLE… … SO APP CAN ACHIEVE
Feedback? Let us know:
aka.ms/windowsui/inwin32
Modernize Windows Forms and WPF apps (B8110, Mike Battista)



<!– Xamarin.Forms -->
<ContentView>
<StackLayout StackOrientation=“Vertical”
Spacing=“5”>
<Label Text=“Hello World!”
HorizontalOptions=“Center” />
<Button Text=“Click me!”
Command=“{Binding ClickCommand}” />
<Entry Placeholder=“Enter some text”
PlaceholderColor=“Blue” />
</StackLayout>
</ContentView>
<!-- UWP XAML -->
<UserControl>
<StackPanel Orientation=“Vertical”>
<TextBlock Text=“Hello World!”
HorizontalAlignment=“Center” />
<Button Content=“Click me!”
Command=“{Binding ClickCommand}” />
<TextBox PlaceholderText=“Enter some text” />
</StackPanel>
</UserControl>
<!-- XAML Standard -->
<UserControl>
<StackPanel Orientation=“Vertical”
Spacing=“5” >
<TextBlock Text=“Hello World!”
HorizontalAlignment=“Center” />
<Button Content=“Click me!”
Command=“{Binding ClickCommand}” />
<TextBox PlaceholderText=“Enter some text”
PlaceholderBrush=“Blue”/>
</StackPanel>
</UserControl>
Collaborate with us!
aka.ms/xamlstandard
.NET Standard 2.0 support
XAML Standard 1.0 support
Custom MarkupExtension
Default binding modes for x:Bind
More VS improvements (Edit and
Continue, Min/Max versioning)
Strikethrough text
Performance improvements (reduced
memory, higher scalability)
2D apps with realistic depth in 3D/HMD
Advanced color and HDR in
Image/MediaElement/Visuals
Input (event preview on key up/down)
CharacterReceived (Text input)
CharacterCasing (TextBox)
ClipBoard copy events on Text input
Text IsWrapped/Trimmed
Coming to a flight soon – be an insider!
Build 2017 - B8100 - What's new and coming for Windows UI: XAML and composition
@windowsui
wpdev.uservoice.com
aka.ms/windowsui
Meet our engineers and see more at the BEAUTIFUL UX kiosks (Expo hall > Ask The Experts area)
LIVE SESSIONS
PRE-RECORDED SESSIONS
THEATER SESSIONS
Build 2017 - B8100 - What's new and coming for Windows UI: XAML and composition

More Related Content

PPTX
Build 2017 - B8099 - What's new in Xamarin.Forms
PPTX
Build 2017 - B8002 - Introducing Adaptive Cards
PDF
Evovle 2016 - Everyone Can Create Beautiful Apps with Material Design
PPTX
Build 2017 - P4115 - Go big! Optimizing your applications for large screen ex...
PDF
Introduction to iOS 9 (Xamarin Evolve 2016)
PPTX
User Macros: Making Your Own Improvements to Confluence - Atlassian Summit 2012
PDF
Agile documentation with Confluence and Sparx Enterprise Architect
PDF
Azure Mobile Services - more than just cloud data
Build 2017 - B8099 - What's new in Xamarin.Forms
Build 2017 - B8002 - Introducing Adaptive Cards
Evovle 2016 - Everyone Can Create Beautiful Apps with Material Design
Build 2017 - P4115 - Go big! Optimizing your applications for large screen ex...
Introduction to iOS 9 (Xamarin Evolve 2016)
User Macros: Making Your Own Improvements to Confluence - Atlassian Summit 2012
Agile documentation with Confluence and Sparx Enterprise Architect
Azure Mobile Services - more than just cloud data

What's hot (20)

PDF
App engine devfest_mexico_10
PDF
Xamarin: The Future of App Development
PDF
Highly Scalable User Experience Design: Vaadin and Magnolia
PDF
Dreamweaver CS6, jQuery, PhoneGap, mobile design
PDF
Progressive Web Apps by Millicent Convento
PPTX
Oracle APEX & PhoneGap
PDF
Html5 and beyond the next generation of mobile web applications - Touch Tou...
PDF
Building cross platform web apps
PPT
"Native" Apps with APEX and PhoneGap
PPTX
Dnc2015 azure-microservizi-vforusso
PPT
Mobile Information Architecture
PPTX
Browser Developer Tools
PDF
Bruce Lawson: Progressive Web Apps: the future of Apps
PPTX
Choosing the Right Mobile Development Platform (Part 2)
PPTX
Building a Twitter App with Silverlight 3 - Part 2
PDF
Updates on the Data Center Apps Program
PPTX
ASP.NEt MVC and Angular What a couple
PDF
Angular js mobile jsday 2014 - Verona 14 may
PDF
UI Animations in Meteor
App engine devfest_mexico_10
Xamarin: The Future of App Development
Highly Scalable User Experience Design: Vaadin and Magnolia
Dreamweaver CS6, jQuery, PhoneGap, mobile design
Progressive Web Apps by Millicent Convento
Oracle APEX & PhoneGap
Html5 and beyond the next generation of mobile web applications - Touch Tou...
Building cross platform web apps
"Native" Apps with APEX and PhoneGap
Dnc2015 azure-microservizi-vforusso
Mobile Information Architecture
Browser Developer Tools
Bruce Lawson: Progressive Web Apps: the future of Apps
Choosing the Right Mobile Development Platform (Part 2)
Building a Twitter App with Silverlight 3 - Part 2
Updates on the Data Center Apps Program
ASP.NEt MVC and Angular What a couple
Angular js mobile jsday 2014 - Verona 14 may
UI Animations in Meteor
Ad

Similar to Build 2017 - B8100 - What's new and coming for Windows UI: XAML and composition (20)

PDF
WPF - the future of GUI is near
PDF
netmind - Primer Contacto con el Desarrollo de Aplicaciones para Windows 8
PPTX
WPF - An introduction
PPTX
Deeper into Windows 10 Development
PPT
Catching up on Rich Clients Part 1 of 2
PPTX
Windows Store app using XAML and C#: Enterprise Product Development
PPTX
Session 5#
PDF
Twelve ways to make your apps suck less
PPTX
Architecting WPF Applications
PPT
MSDN Unleashed: WPF Demystified
PPTX
Building Your First Store App with XAML and C#
PDF
Designing XAML apps using Blend for Visual Studio 2013
PPT
2 Day - WPF Training by Adil Mughal
PDF
05.Blend Expression, Transformation & Animation
PPTX
Windows 8 store apps development
PDF
Xamarin 9/10 San Diego Meetup
PPTX
Windows 8 DevUnleashed - Session 1
PPT
WPF Applications, It's all about XAML these days
PPTX
Windows phone and azure
PDF
New XAML/UWP features in Windows 10 Fall Creators Update
WPF - the future of GUI is near
netmind - Primer Contacto con el Desarrollo de Aplicaciones para Windows 8
WPF - An introduction
Deeper into Windows 10 Development
Catching up on Rich Clients Part 1 of 2
Windows Store app using XAML and C#: Enterprise Product Development
Session 5#
Twelve ways to make your apps suck less
Architecting WPF Applications
MSDN Unleashed: WPF Demystified
Building Your First Store App with XAML and C#
Designing XAML apps using Blend for Visual Studio 2013
2 Day - WPF Training by Adil Mughal
05.Blend Expression, Transformation & Animation
Windows 8 store apps development
Xamarin 9/10 San Diego Meetup
Windows 8 DevUnleashed - Session 1
WPF Applications, It's all about XAML these days
Windows phone and azure
New XAML/UWP features in Windows 10 Fall Creators Update
Ad

More from Windows Developer (20)

PPTX
Our Fluent Path to Spatial Computing: Easy as 1-2D-3D
PPTX
Fluent Design System inside of Microsoft: Office
PPTX
Building powerful desktop and MR applications with new windowing apis
PPTX
Creating Innovative Experiences for Fluent Design using the Visual Layer
PPTX
Rapidly Construct LOB Applications with UWP and Visual Studio 2017
PPTX
Modernizing Desktop Apps on Windows 10
PPTX
How Simplygon helped Remix become platform independent
PPTX
Harnessing the Power of AI with Windows Ink
PPTX
Technical deep dive into creating the “Solutions Showcase for Mixed Reality” ...
PPTX
Developing for Sets on Windows 10
PPTX
Data-Driven and User-Centric: Improving enterprise productivity and engagemen...
PPTX
Drive user reengagement across all your Windows, Android, and iOS with Micros...
PPTX
Fluent Design: Evolving our Design System
PPTX
Seizing the Mixed Reality Revolution – A past, present and future Mixed Reali...
PPTX
Windows 10 on ARM for developers
PPTX
Building Mixed reality with the new capabilities in Unity
PPTX
Set up a windows dev environment that feels like $HOME
PPTX
Modernizing Twitter for Windows as a Progressive Web App
PPTX
Holograms for trade education, built for students, by students with Immersive...
PPTX
Designing Inclusive Experiences to Maximize Reach and Satisfaction
Our Fluent Path to Spatial Computing: Easy as 1-2D-3D
Fluent Design System inside of Microsoft: Office
Building powerful desktop and MR applications with new windowing apis
Creating Innovative Experiences for Fluent Design using the Visual Layer
Rapidly Construct LOB Applications with UWP and Visual Studio 2017
Modernizing Desktop Apps on Windows 10
How Simplygon helped Remix become platform independent
Harnessing the Power of AI with Windows Ink
Technical deep dive into creating the “Solutions Showcase for Mixed Reality” ...
Developing for Sets on Windows 10
Data-Driven and User-Centric: Improving enterprise productivity and engagemen...
Drive user reengagement across all your Windows, Android, and iOS with Micros...
Fluent Design: Evolving our Design System
Seizing the Mixed Reality Revolution – A past, present and future Mixed Reali...
Windows 10 on ARM for developers
Building Mixed reality with the new capabilities in Unity
Set up a windows dev environment that feels like $HOME
Modernizing Twitter for Windows as a Progressive Web App
Holograms for trade education, built for students, by students with Immersive...
Designing Inclusive Experiences to Maximize Reach and Satisfaction

Recently uploaded (20)

PDF
PTS Company Brochure 2025 (1).pdf.......
PDF
System and Network Administration Chapter 2
PDF
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
PDF
How to Migrate SBCGlobal Email to Yahoo Easily
PPTX
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
PPTX
Operating system designcfffgfgggggggvggggggggg
PPTX
Essential Infomation Tech presentation.pptx
PPTX
VVF-Customer-Presentation2025-Ver1.9.pptx
PPTX
Introduction to Artificial Intelligence
PDF
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
PPTX
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
PPTX
ai tools demonstartion for schools and inter college
PPTX
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
PDF
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
PDF
Design an Analysis of Algorithms II-SECS-1021-03
PDF
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
PDF
Which alternative to Crystal Reports is best for small or large businesses.pdf
PPTX
CHAPTER 2 - PM Management and IT Context
PDF
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
PTS Company Brochure 2025 (1).pdf.......
System and Network Administration Chapter 2
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
How to Migrate SBCGlobal Email to Yahoo Easily
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
Operating system designcfffgfgggggggvggggggggg
Essential Infomation Tech presentation.pptx
VVF-Customer-Presentation2025-Ver1.9.pptx
Introduction to Artificial Intelligence
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
ai tools demonstartion for schools and inter college
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
Design an Analysis of Algorithms II-SECS-1021-03
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
Which alternative to Crystal Reports is best for small or large businesses.pdf
CHAPTER 2 - PM Management and IT Context
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool

Build 2017 - B8100 - What's new and coming for Windows UI: XAML and composition

  • 4. CONSUMERS INFORMATION WORKERS DEVELOPERS Outcome: Engagement Outcome: Productivity Outcome: High ROI
  • 5. Framework layer Controls, Layout, Styling, Accessibility, Data binding, Pre-packaged behaviors & Patterns Visual layer Lightweight visual rendering, Animations & Natural motion, Effects, Dimensionality, Lighting & Shadows Graphics layer Drawing, Text rasterization, Shape & Vector rasterization, Ink rendering Windows.UI.XAML Windows.UI.Composition DirectX Family
  • 7. Highest Differentiation: Signature or Hero Navigation, Themes Natural Motion Patterns, Controls, Input, Scaling & Orientation Layout, Typography, Animation Color & Effects, Icons Performance & Scalability Differentiators - Within a framework, UX can differ in these ways to be unique P E R S O N A L Basics – UX should be consistent in these ways U N I V E R S A L Differentiated UX based on:  Brand  Audience – User Intent  Device Context
  • 8. Highest Differentiation: Signature or Hero Navigation, Themes Natural Motion Patterns, Controls, Input, Scaling & Orientation Layout, Typography, Animation Color & Effects, Icons Performance & Scalability Creators Update Fall Creators Update Beyond
  • 9. Highest Differentiation: Signature or Hero Navigation, Themes Natural Motion Patterns, Controls, Input, Scaling & Orientation Layout, Typography, Animation Color & Effects, Icons Performance & Scalability Lighting, Shadows Lighting, Shadows Real-world UI: Dimensionality Real-world UI: Shapes, Micro Animations Tailoring UI for Device Realistic depth & volume for 2D apps in HMD Parallax, Conscious headers, Choreographed UI Forms over data Nav View, Tree View HDR and Advanced Color Adaptability Input driven Animations Canned Physics (Spring, Bounce, Hinge), Physics Engine integration Modern UI in Win32, WPF, WinForms Materials Reveal Semantic Animations Interactive 2D/3D Data Visualization SVG in Image Creators Update Fall Creators Update Beyond
  • 11. R E A L - W O R L D U I
  • 12. Lighting Materials and Effects Shapes with micro-animations R E A L - W O R L D U I
  • 14. Point, Spot, Distant, Ambient Lights. Used with Scene Light Effect Drop Shadows, Future: Light based Shadows XAML Light, Control over exclusion and intensity Reveal and its use in ListView / TreeView / NavigationView / AutosuggestBox, Future: Realistic depth and shadows A-B-C
  • 15. REVEAL <Button Content="Button Content" Style="{StaticResource ButtonRevealStyle}"/> REVEALREVEAL
  • 18. ACRYLIC App or Desktop background Gaussian blur Exclusion blend Color tint (optional) Noise texture <Grid Background="{ThemeResource SystemControlAcrylicElementBrush}"/>
  • 19.  Acrylic  Backdrop brush, can sample from desktop or app background public ImageEffectBrush : XamlCompositionBaseBrush { // implementation can use any Visual layer effects } <TextBlock Text="Hello World"> <TextBlock.Foreground> <local:ImageEffectBrush /> </TextBlock.Foreground> </TextBlock> Explore the next gen innovation in the Visual layer (B8037, Lindsay/Kelly)
  • 23. Want to help shape this? aka.ms/windowsui/shapes
  • 24. Lighting Materials and Effects Shapes with Micro- Animations R E A L - W O R L D U IR E C A P
  • 25. N A T U R A L M O T I O N
  • 26. Seamless transitions Dynamic motion Semantic animations N A T U R A L M O T I O N
  • 30. // play an animation when this UIElement is shown ElementCompositionPreview // play an animation when this UIElement is hidden ElementCompositionPreview // event handler on Master page private void object ItemClickEventArgs var GridViewItem "Image" var ConnectedAnimationService "Image" // navigation handler on Details page private override void NavigationEventArgs var ConnectedAnimationService "Image"
  • 32. Input driven animations: Interaction Tracker, Inertia modifiers, Source modifiers, Position trackers Parallax, Conscious Headers, Pull to Refresh Future: Integrating Physics engines Physical motion: spring, bounce, attraction Perceived physics with the use of Triggers, Noise Future: New XAML Scroller Future: Motion and Patterns embodied by Controls and implicit animations as part of the Windows “personality” A-B-C
  • 37. <Page.Animations> <FadeOutExit Duration="0.3s" /> </Page.Animations> master.xaml <Grid.Animations> <SlideInEntrance From="0,-80,0" Duration="0.4s" /> </Grid.Animations> <ListView.ItemAnimations> <SlideInEntrance Duration="0.4s" StaggerDelayFactor="0.3" /> </ListView.ItemAnimations> details.xaml ❶ ❷ ❸ ❹ ❺
  • 38. Concepts: • Connected Animation conveniences • Behaviors e.g. FadeOutExit, SlideInEntrance • Triggers e.g. Entrance, Exit, PropertyChanged, etc. or custom • Expressive library of stock animations • Customize + Use Storyboard animations and/or Composition Animations Feedback? Let us know: aka.ms/windowsui/semanticanimation
  • 39. Seamless transitions Dynamic motion Semantic animations N A T U R A L M O T I O NR E C A P
  • 40. U I C O N T R O L S & P A T T E R N S
  • 41. Building blocks Patterns Encapsulation as default U I C O N T R O L S
  • 42. Interaction Tracker, Materials and Lighting, Input, Repeatable UI A-B-C
  • 43. Parallax velocity, conscious headers, context menus, swiping/pulling to reveal, keyboard input, hierarchical views A-B-C
  • 44. A-B-C
  • 49. • ParallaxView • RefreshContainer • SwipeContainer • TreeView A-B-C
  • 50. • ParallaxView • RefreshContainer • SwipeContainer • TreeView • ContentDialog • ContextFlyout A-B-C
  • 51. • ParallaxView • RefreshContainer • SwipeContainer • TreeView • ContentDialog • ContextFlyout • AccessKey A-B-C
  • 52. • ParallaxView • RefreshContainer • SwipeContainer • TreeView • ContentDialog • ContextFlyout • AccessKey • RatingsControl A-B-C
  • 53. • ParallaxView • RefreshContainer • SwipeContainer • TreeView • ContentDialog • ContextFlyout • AccessKey • RatingsControl • ColorPicker A-B-C
  • 54. • ParallaxView • RefreshContainer • SwipeContainer • TreeView • ContentDialog • ContextFlyout • AccessKey • RatingsControl • ColorPicker • Future: Repeater A-B-C LayoutDataSource UIElement UIElement UIElement ViewGenerator Repeater
  • 55. Building blocks Patterns Encapsulation as default U I C O N T R O L SR E C A P
  • 56. S C A L E : U P A N D O U T
  • 58. <Application ...> <uap:VisualElements> <uap:SplashScreen Image="AssetsSplashScreen.png" /> </uap:VisualElements> </Application> <Application ...> <uap:VisualElements> <uap:SplashScreen Image="AssetsSplashScreen.png" Optional="True" /> </uap:VisualElements> </Application>
  • 60.  Respect the user  Respect the device <StackPanel x:Name="MyLargeSecondaryUI" Visibility="Collapsed" > <!-- some large chunk of UI that may rarely be seen but we are too lazy to dynamically load because we love our markup :-D I kid, I kid! --> </StackPanel> <StackPanel x:Name="MyLargeSecondaryUI" x:Load="{x:Bind MyViewModel.ShouldShowSecondaryUI}"> <!-- some large chunk of UI that may rarely be seen but we are too lazy to dynamically load because we love our markup :-D I kid, I kid! --> </StackPanel> Tips and Tricks for Creating Performant UI in UWP (P4173, David Li)
  • 61. DESKTOP BRIDGE Win32 UI Windows UI DESKTOP BRIDGE Windows UIWin32 UI EXISTING SUPPORT PLATFORM WILL ENABLE… … SO APP CAN ACHIEVE
  • 62. Feedback? Let us know: aka.ms/windowsui/inwin32 Modernize Windows Forms and WPF apps (B8110, Mike Battista)
  • 64. <!– Xamarin.Forms --> <ContentView> <StackLayout StackOrientation=“Vertical” Spacing=“5”> <Label Text=“Hello World!” HorizontalOptions=“Center” /> <Button Text=“Click me!” Command=“{Binding ClickCommand}” /> <Entry Placeholder=“Enter some text” PlaceholderColor=“Blue” /> </StackLayout> </ContentView> <!-- UWP XAML --> <UserControl> <StackPanel Orientation=“Vertical”> <TextBlock Text=“Hello World!” HorizontalAlignment=“Center” /> <Button Content=“Click me!” Command=“{Binding ClickCommand}” /> <TextBox PlaceholderText=“Enter some text” /> </StackPanel> </UserControl> <!-- XAML Standard --> <UserControl> <StackPanel Orientation=“Vertical” Spacing=“5” > <TextBlock Text=“Hello World!” HorizontalAlignment=“Center” /> <Button Content=“Click me!” Command=“{Binding ClickCommand}” /> <TextBox PlaceholderText=“Enter some text” PlaceholderBrush=“Blue”/> </StackPanel> </UserControl>
  • 66. .NET Standard 2.0 support XAML Standard 1.0 support Custom MarkupExtension Default binding modes for x:Bind More VS improvements (Edit and Continue, Min/Max versioning) Strikethrough text Performance improvements (reduced memory, higher scalability) 2D apps with realistic depth in 3D/HMD Advanced color and HDR in Image/MediaElement/Visuals Input (event preview on key up/down) CharacterReceived (Text input) CharacterCasing (TextBox) ClipBoard copy events on Text input Text IsWrapped/Trimmed Coming to a flight soon – be an insider!
  • 69. Meet our engineers and see more at the BEAUTIFUL UX kiosks (Expo hall > Ask The Experts area) LIVE SESSIONS PRE-RECORDED SESSIONS THEATER SESSIONS