Windows Store App Development: C# and XAML
C# and XAML
Pete Brown
  • June 2013
  • ISBN 9781617290947
  • 624 pages
  • printed in black & white

Informative, fun, and easy to read.

Todd Miranda, NxtDimension Solutions

Windows Store App Development introduces C# developers to working with Windows Store apps. It provides full coverage of XAML, and addresses both app design and development. Following numerous carefully crafted examples, you'll learn about new Windows 8 features, the WinRT API, and .NET 4.5. Along the way, you'll pick up tips for deploying apps, including sale through the Windows Store. And, of course, you'll find the same deep and unique insights Pete provides in his Silverlight books.

Table of Contents show full



about this book

about the author

about the cover illustration

1. Hello, Modern Windows

1.1. Setting up the development environment

1.2. Configuring the project

1.3. Create the first Hello World UI

1.4. Integrating with Twitter

1.5. Testing on different devices and resolutions

1.6. Summary

2. The Modern UI

2.1. Design inspiration

2.2. Governing principles

2.3. Typography

2.4. The importance of the layout grid

2.5. Design for touch but not only for touch

2.6. Modern apps on Windows 8

2.7. Device considerations

2.8. Summary

3. The Windows Runtime and .NET

3.1. Windows Store app system architecture

3.2. COM + .NET metadata = WinRT

3.3. Client technologies and languages

3.4. A brief tour of WinRT and .NET 4.5

3.5. Summary


4.1. Elements and namespaces

4.2. Properties

4.3. Object trees and namescope

4.4. Summary

5. Layout

5.1. Multipass layout—measuring and arranging

5.2. UIElement layout properties

5.3. Layout rounding

5.4. Performance considerations

5.5. Summary

6. Panels

6.1. Canvas

6.2. StackPanel and VirtualizingStackPanel

6.3. Grid

6.4. Creating a custom panel

6.5. Summary

7. Brushes, graphics, styles, and resources

7.1. Brushes

7.2. Resources

7.3. Styles

7.4. Vector graphics

7.5. Bitmap images

7.6. Summary

8. Displaying beautiful text

8.1. Text basics

8.2. Rich and multicolumn text

8.3. OpenType text

8.4. Embedding fonts

8.5. Summary

9. Controls, binding, and MVVM

9.1. The Model-View-ViewModel pattern

9.2. Binding primer

9.3. Entering and displaying text

9.4. UI element binding using sliders

9.5. Working with lists

9.6. Making things happen with buttons and commands

9.7. Converting data with value converters

9.8. Summary

10. View controls, Semantic Zoom, and navigation

10.1. PhotoBrowser demonstration app setup

10.2. ListView and GridView

10.3. Grouping with the GridView

10.4. FlipView and navigation

10.5. Semantic Zoom

10.6. Summary

11. The app bar

11.1. Project updates

11.2. Controls on the bottom app bar

11.3. Top app bar for navigation

11.4. App bar popups and menus

11.5. Summary

12. The splash screen, app tile, and notifications

12.1. Splash screens

12.2. Default tiles on the start page

12.3. Secondary or pinned tiles

12.4. Tile notifications or live tiles

12.5. Toast notifications

12.6. Summary

13. View states

13.1. Full, filled, and snapped views

13.2. The LayoutAwarePage

13.3. The snapped view for the main page

13.4. Visual states for view management

13.5. Detail pages and app bars

13.6. Summary

14. Contracts: playing nicely with others

14.1. Sharing

14.2. Letting others search your data

14.3. Summary

15. Working with files

15.1. Loading files programmatically

15.2. URI formats

15.3. Working with file pickers

15.4. Summary

16. Asynchronous everywhere

16.1. Why asynchronous is important

16.2. Working with IAsync* WinRT methods

16.3. Working with tasks

16.4. Summary

17. Networking with SOAP and RESTful services

17.1. Networking basics

17.2. Sharing your model

17.3. Consuming SOAP services

17.4. Structuring your client code using MVVM

17.5. Consuming data from RESTful services

17.6. Deserializing JSON and XML data

17.7. Updating data using PUT, POST, DELETE, and more

17.8. Summary

18. A chat app using sockets

18.1. Chat app viewmodel

18.2. The user interface

18.3. Listening for connections

18.4. Connecting to the server and sending data

18.5. Refactoring for better structure and flexibility

18.6. Trying out UDP sockets

18.7. Summary

19. A little UI work: user controls and Blend

19.1. Updated game UI

19.2. Designing the ship UI

19.3. Building out the ship user control properties

19.4. Summary

20. Networking player location

20.1. Updating the Player model

20.2. The collection of players

20.3. Updating the TCP stream message service

20.4. Testing everything

20.5. Summary

21. Keyboards, mice, touch, accelerometers, and gamepads

21.1. Making input generic

21.2. Keyboard input

21.3. Pointer input: mouse, touch, and pen

21.4. Accelerometer input

21.5. Xbox 360 gamepad input and a little C++

21.6. Summary

22. App settings and suspend/resume

22.1. App settings UI and architecture

22.2. Persisting and using settings

22.3. Suspend and resume

22.4. Summary

23. Deploying and selling your app

23.1. Testing for certification

23.2. Sideloading for testing purposes

23.3. Enabling trial mode

23.4. Listing your app in the Windows Store

23.5. Summary


About the Technology

The Windows Store provides an amazing array of productivity tools, games, and other apps directly to the millions of customers already using Windows 8.x or Surface. Windows Store apps boast new features like touch and pen input, standardized app-to-app communication, and tight integration with the web. And, you can build Windows Store apps using the tools you already know: C# and XAML.

About the book

Windows Store App Development introduces the Windows 8.x app model to readers familiar with traditional desktop development. You'll explore dozens of carefully crafted examples as you master Windows features, the Windows Runtime, and the best practices of app design. Along the way, you'll pick up tips for deploying apps, including selling through the Windows Store.

What's inside

  • Designing, creating, and selling Windows Store apps
  • Developing touch and sensor-centric apps
  • Working C# examples, from feature-level techniques to complete app design
  • Making apps that talk to each other
  • Mixing in C++ for even more features

About the reader

This book requires some knowledge of C#. No experience with Windows 8 is needed.

About the author

Pete Brown is a Developer Evangelist at Microsoft and author of Silverlight 4 in Action and Silverlight 5 in Action.

combo $49.99 pBook + eBook
eBook $39.99 pdf + ePub + kindle

FREE domestic shipping on three or more pBooks

Broad coverage of all aspects of W8 XAML development.

Roland Civet, iSolutions For You!

Pete is a consistently great author, and once again he nails his subject.

Gordon Mackie, Openfeatured Ltd.

Your roadmap to modern Windows design.

Patrick Toohey, Mettler-Toledo Hi-Speed

Much less a book than a must-have tool for efficient and quality app development.

Dave Campbell, WynApse