Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Creating Desktop Apps with UWP (Show IT, Bratis...
Search
Christian Nagel
February 07, 2017
Programming
100
0
Share
Creating Desktop Apps with UWP (Show IT, Bratislava 2017)
How to best support both WPF and UWP, and move from WPF to UWP
Christian Nagel
February 07, 2017
More Decks by Christian Nagel
See All by Christian Nagel
ASP.NET Core und ASP.NET Core MVC (BASTA! Spring 2017)
christiannagel
0
390
C# 7.0 - Neuheiten im Detail (BASTA! Spring 2017)
christiannagel
0
130
C# 7.0 - What's New (Show IT, Bratislava, 2017)
christiannagel
0
210
C# 7.0 - What's New (G2B TechEd Brno, 2017)
christiannagel
0
140
Creating Desktop Apps with UWP (G2B TechEd, Brno 2017)
christiannagel
0
110
WPF 4.5 - Die Neuerungen im Überblick
christiannagel
0
160
Async mit C# 5
christiannagel
1
160
Windows Store Apps mit C#
christiannagel
0
100
Tiles, Toasts & Notifications
christiannagel
0
120
Other Decks in Programming
See All in Programming
AIエージェントと協働するCLI開発 — BunとOpenClawで学んだこと
yoshikouki
1
230
生成AI時代にこそ効くGo | Why Go Works in the Age of Generative AI
mom0tomo
8
3.1k
Signal Forms: Beyond the Basics @ngBaguette 2026 in Paris
manfredsteyer
PRO
0
200
New "Type" system on PicoRuby
pocke
1
410
Old Dog, New Tricks: The Java 25 Reinvention - JNation
bazlur_rahman
0
140
ユニットテストの先へ:テスト技法で要求・仕様を整理するJava開発実践 / Beyond_Unit_Testing_Practical_Java_Development_Techniques_for_Organizing_Requirements_and_Specifications
shimashima35
0
320
Oxcを導入して開発体験が向上した話
yug1224
4
270
プロパティの順序で型推論が壊れる!? TypeScript6.0の修正からContext-Sensitivityの仕組みを追う
bicstone
2
1.3k
作って学ぶ、 JSX (TSX) ランタイムの基本
syumai
7
1.4k
開発体験を左右するライブラリの API 設計 - GraphQL スキーマ構築ライブラリから考える #tskaigi
izumin5210
2
1.5k
サーバーレスで作る、動画データ管理基盤
oyasumipants
0
330
誰も頼んでない機能を出荷した話
zekutax
0
160
Featured
See All Featured
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
370
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
570
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.2k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
340
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
190
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
290
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
470
How to train your dragon (web standard)
notwaldorf
97
6.7k
The Cost Of JavaScript in 2023
addyosmani
55
10k
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.5k
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
380
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Transcript
Creating Desktop Apps with UWP Christian Nagel @christiannagel www.cninnovation.com
Goals • When & how to use UWP for Data-Driven
Business Applications • Moving from WPF to UWP • Introducing important concepts for UWP
Non-Goals • A complete application • UI Styles • Desktop
Bridge for UWP • No Crashes (using Visual Studio 2017 RC)
Agenda WPF or UWP? Sharing Code UWP XAML Features
Christian Nagel • Training • Coaching • Consulting • Microsoft
MVP • thinktecture • www.cninnovation.com
None
WPF OR UWP? 1
All your users upgraded to Windows 10!
No
Why not always WPF? • Use New Features • Modern
Styling and APIs • Different Devices • Windows 10 uses UWP • Performance
UWP Features • Easy Deployment/Updates • New Controls • Data
Sharing • Tile Updates, Notifications
Windows 7 Users • WPF is necessary • Desktop Bridge
to add UWP Features for Win10 Users • Write the UI multiple times • Just the UI
SHARING CODE 2
Libraries • .NET Libraries only for WPF/.NET Framework • .NET
Core Libraries only for .NET Core • Portable Libraries for … • .NET Standard makes sharing easier
MVVM Pattern View View-Model Model INotifyPropertyChanged INotifyPropertyChanged Data Binding, Binding
to Commands XAML
Dependency Injection
What you’ve seen • Portable Libraries • MVVM removes strong
dependencies • DI Container makes DI easy
UWP XAML FEATURES 3
Assigning Commands
Compiled Binding
Controls
What you’ve seen • AppBar • Compiled Binding • Enhanced
TextBox • SplitView • RelativePanel • Adaptive Trigger
Summary • Use MVVM and DI with XAML • Portable
/ .NET Standard Library • XAML Features
Questions?
More Information (1) • https://docs.microsoft.com • Sample Code: • https://github.com/CNinnovation
More Information (2) • https://github.com/ProfessionalCSharp • https://csharp.christiannagel.com • https://www.cninnovation.com •
Training & Coaching
Thank you!
Images Copyright • Decision Time © Steve Woods • Yeah
© Redbaron • Sulky angry child © Godfer • Diversity workers © Vladimir Mucibabic • Injection © Maybe123 • Spousal Abuse Humor © Ken Hurst • Communication © Fantasista • Pilots in the plane © Nikolai Sorokin • Bratislava © Tomas1111 • http://www.dreamstime.com
www.showit.sk www.gopas.sk