Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Creating Desktop Apps with UWP (Show IT, Bratislava 2017)

Creating Desktop Apps with UWP (Show IT, Bratislava 2017)

How to best support both WPF and UWP, and move from WPF to UWP

4736273aed82148d9d3c3ca192c1cd61?s=128

Christian Nagel

February 07, 2017
Tweet

Transcript

  1. Creating Desktop Apps with UWP Christian Nagel @christiannagel www.cninnovation.com

  2. Goals • When & how to use UWP for Data-Driven

    Business Applications • Moving from WPF to UWP • Introducing important concepts for UWP
  3. Non-Goals • A complete application • UI Styles • Desktop

    Bridge for UWP • No Crashes (using Visual Studio 2017 RC)
  4. Agenda WPF or UWP? Sharing Code UWP XAML Features

  5. Christian Nagel • Training • Coaching • Consulting • Microsoft

    MVP • thinktecture • www.cninnovation.com
  6. None
  7. WPF OR UWP? 1

  8. All your users upgraded to Windows 10!

  9. No

  10. Why not always WPF? • Use New Features • Modern

    Styling and APIs • Different Devices • Windows 10 uses UWP • Performance
  11. UWP Features • Easy Deployment/Updates • New Controls • Data

    Sharing • Tile Updates, Notifications
  12. Windows 7 Users • WPF is necessary • Desktop Bridge

    to add UWP Features for Win10 Users • Write the UI multiple times • Just the UI
  13. SHARING CODE 2

  14. Libraries • .NET Libraries only for WPF/.NET Framework • .NET

    Core Libraries only for .NET Core • Portable Libraries for … • .NET Standard makes sharing easier
  15. MVVM Pattern View View-Model Model INotifyPropertyChanged INotifyPropertyChanged Data Binding, Binding

    to Commands XAML
  16. Dependency Injection

  17. What you’ve seen • Portable Libraries • MVVM removes strong

    dependencies • DI Container makes DI easy
  18. UWP XAML FEATURES 3

  19. Assigning Commands

  20. Compiled Binding

  21. Controls

  22. What you’ve seen • AppBar • Compiled Binding • Enhanced

    TextBox • SplitView • RelativePanel • Adaptive Trigger
  23. Summary • Use MVVM and DI with XAML • Portable

    / .NET Standard Library • XAML Features
  24. Questions?

  25. More Information (1) • https://docs.microsoft.com • Sample Code: • https://github.com/CNinnovation

  26. More Information (2) • https://github.com/ProfessionalCSharp • https://csharp.christiannagel.com • https://www.cninnovation.com •

    Training & Coaching
  27. Thank you!

  28. 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
  29. www.showit.sk www.gopas.sk