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
0
92
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
Tweet
Share
More Decks by Christian Nagel
See All by Christian Nagel
ASP.NET Core und ASP.NET Core MVC (BASTA! Spring 2017)
christiannagel
0
340
C# 7.0 - Neuheiten im Detail (BASTA! Spring 2017)
christiannagel
0
120
C# 7.0 - What's New (Show IT, Bratislava, 2017)
christiannagel
0
190
C# 7.0 - What's New (G2B TechEd Brno, 2017)
christiannagel
0
130
Creating Desktop Apps with UWP (G2B TechEd, Brno 2017)
christiannagel
0
100
WPF 4.5 - Die Neuerungen im Überblick
christiannagel
0
160
Async mit C# 5
christiannagel
1
150
Windows Store Apps mit C#
christiannagel
0
77
Tiles, Toasts & Notifications
christiannagel
0
100
Other Decks in Programming
See All in Programming
なぜGoのジェネリクスはこの形なのか? Featherweight Goが明かす設計の核心
ryotaros
7
1.1k
品質ワークショップをやってみた
nealle
0
240
Pull-Requestの内容を1クリックで動作確認可能にするワークフロー
natmark
2
510
XP, Testing and ninja testing ZOZ5
m_seki
3
660
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
330
コードとあなたと私の距離 / The Distance Between Code, You, and I
hiro_y
0
170
そのpreloadは必要?見過ごされたpreloadが技術的負債として爆発した日
mugitti9
2
3.4k
チームの境界をブチ抜いていけ
tokai235
0
170
All About Angular's New Signal Forms
manfredsteyer
PRO
0
160
Android16 Migration Stories ~Building a Pattern for Android OS upgrades~
reoandroider
0
110
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
370
他言語経験者が Golangci-lint を最初のコーディングメンターにした話 / How Golangci-lint Became My First Coding Mentor: A Story from a Polyglot Programmer
uma31
0
140
Featured
See All Featured
Music & Morning Musume
bryan
46
6.8k
Designing Experiences People Love
moore
142
24k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
127
53k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
15k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
9.7k
GraphQLとの向き合い方2022年版
quramy
49
14k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
252
21k
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
RailsConf 2023
tenderlove
30
1.2k
[RailsConf 2023] Rails as a piece of cake
palkan
57
5.9k
Context Engineering - Making Every Token Count
addyosmani
6
250
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