Home > Store

Windows 8.1 Apps with XAML and C# Sams Teach Yourself in 24 Hours

Register your product to gain access to bonus material or receive a coupon.

Windows 8.1 Apps with XAML and C# Sams Teach Yourself in 24 Hours


  • Sorry, this book is no longer in print.
Not for Sale

eBook (Watermarked)

  • Your Price: $28.79
  • List Price: $35.99
  • Includes EPUB, MOBI, and PDF
  • About eBook Formats
  • This eBook includes the following formats, accessible from your Account page after purchase:

    ePub EPUB The open industry format known for its reflowable content and usability on supported mobile devices.

    MOBI MOBI The eBook format compatible with the Amazon Kindle and Amazon Kindle applications.

    Adobe Reader PDF The popular standard, used most often with the free Adobe® Reader® software.

    This eBook requires no passwords or activation to read. We customize your eBook by discreetly watermarking it with your name, making it uniquely yours.



  • Full-color guide
  • Teaches Windows 8.1 app development, for any level developer
  • Written by a principal software architect for Microsoft


  • Copyright 2014
  • Edition: 1st
  • Book
  • ISBN-10: 0-672-33836-X
  • ISBN-13: 978-0-672-33836-6

Learn how to build great Windows Store apps! Figures and code appear as they do in Visual Studio.

In just 24 sessions of one hour or less, Sams Teach Yourself Windows 8.1 Apps with XAML and C# in 24 Hours will help you build compelling apps for Windows 8.1 devices of all kinds. Using this book’s straightforward approach, you’ll learn to design and build apps, create flexible user interfaces, handle inputs, integrate controls, and more. Step by step, you’ll discover how to leverage XAML’s visual richness and the immense power of Windows 8.1. Every lesson builds on what you’ve already learned, giving you a rock-solid foundation for real-world success!

Step-by-step instructions carefully walk you through today’s most common XAML and C# development tasks.
Quizzes at the end of each chapter help you test your knowledge.
Notes present interesting information related to the discussion.
Tips offer advice or show you easier ways to perform tasks.
Cautions alert you to possible problems and give you advice on how to avoid them.

Learn how to…

  • Create user interfaces that adapt to any device, from tablets to high-def TVs
  • Handle input from touch, mouse, pen, and keyboard
  • Manage the entire Windows 8.1 app lifecycle and all execution states
  • Master powerful XAML controls for text, images, audio, video, and more
  • Integrate vector graphics that scale perfectly to any size
  • Apply rich animations
  • Work with styles, templates, and visual states
  • Exploit the Windows charms within your apps
  • Take full advantage of data binding and contracts
  • Read data from sensors and control external devices
  • Provide dynamic updates via live tiles, notifications, and the lock screen
  • Discover the many ways to monetize your Windows Store apps

Sample Content

Online Sample Chapter

Windows 8.1 Apps with XAML and C#: Arranging UI Elements

Sample Pages

Download the sample pages (includes Chapter 3 and Index)

Table of Contents

Introduction     1
Part I: Getting Started
HOUR 1: Preparing for Development     5

Creating, Deploying, and Profiling an App     5
Understanding the App Package     8
Submitting to the Windows Store     18
Further Exploration     20
Summary     20
Q&A      21
Workshop     22
HOUR 2: Discovering the XAML Language     23
What Is XAML, Exactly?      23
Elements and Attributes     25
Namespaces     25
Property Elements     27
Type Converters     28
Markup Extensions     29
Children of Object Elements     31
Mixing XAML with C#     35
Updating the Hour1 Project     35
Making Your App World-Ready     42
Making Your App Accessible     48
Further Exploration     53
Summary     54
Q&A     54
Workshop     54
Exercises     55
Part II: Building an App
HOUR 3: Arranging UI Elements     57

Controlling Size     58
Controlling Position     60
Applying 2D Transforms     64
Applying 3D Transforms     70
Further Exploration     73
Summary     73
Q&A     73
Workshop     77
Exercises     77
HOUR 4: Mastering Layout     79
Discovering Your Window Size and Location     80
Panels     84
Handling Content Overflow     97
Further Exploration     110
Summary     110
Q&A     110
Workshop     112
HOUR 5: Handling Input: Touch, Mouse, Pen, and Keyboard     113
Touch Input      114
Mouse Input     138
Pen Input     141
Keyboard Input     150
Further Exploration     156
Summary     156
Q&A     156
Workshop     158
HOUR 6: Managing the App Lifecycle     159
Killing     161
Suspending     162
Resuming     164
Terminating     165
Launching     165
Activating     169
Managing Session State with SuspensionManager     171
Programmatically Launching Apps     174
Further Exploration     177
Summary     178
Q&A     179
Workshop     180
HOUR 7: Threading, Windows, and Pages     181
Understanding the Threading Model     181
Displaying Multiple Windows     186
Navigating Between Pages     190
Further Exploration     198
Summary     198
Q&A     198
Workshop     199
Part III: Understanding Controls
HOUR 8: Content Controls     201

Button     204
AppBarButton     207
HyperlinkButton     214
RepeatButton     215
ToggleButton     215
AppBarToggleButton     216
CheckBox     217
RadioButton     217
ToolTip     219
App Bars     222
Summary     229
Q&A     229
Workshop     231
Exercises     231
HOUR 9: Items Controls     233
Items in the Control      234
Items Panels     236
ComboBox     239
ListBox     241
ListView     242
GridView     246
FlipView     248
SemanticZoom     251
MenuFlyout     255
Summary     256
Q&A     256
Workshop     257
Exercises     258
HOUR 10: Text     259
TextBlock     259
RichTextBlock     272
TextBox     277
RichEditBox     284
PasswordBox     287
Further Exploration     289
Summary     289
Q&A     289
Workshop     291
Exercises     291
HOUR 11: Images     293
The Image Element     294
Multiple Files for Multiple Environments     302
Decoding Images     308
Encoding Images     318
Rendering PDF Content as an Image     326
Further Exploration     331
Summary     331
Q&A     332
Workshop     332
Exercises     333
HOUR 12: Audio, Video, and Speech     335
Playing Media     336
Capturing Media     347
Transcoding Media     359
Speech Synthesis     364
Further Exploration     366
Summary     367
Q&A     368
Workshop     369
HOUR 13: Other Controls     371
Range Controls     371
SearchBox     374
Popup Controls     381
Hub     391
Date and Time Controls     397
ProgressRing     400
ToggleSwitch     400
WebView     402
Further Exploration     408
Summary     408
Workshop     408
Part IV: Leveraging the Richness of XAML
HOUR 14: Vector Graphics     411

Shapes     411
Geometries     419
Brushes     427
Further Exploration     443
Summary     443
Q&A     444
Workshop     445
Exercises     445
HOUR 15: Animation     447
Theme Transitions     448
Theme Animations     459
Custom Animations     464
Custom Keyframe Animations     475
Easing Functions     480
Manual Animations     484
Further Exploration     486
Summary     488
Q&A     488
Workshop     490
Exercises     491
HOUR 16: Styles, Templates, and Visual States     493
Styles     494
Templates     503
Visual States     512
Summary     522
Q&A     522
Workshop     523
Exercises     523
HOUR 17: Data Binding     525
Introducing Binding     525
Controlling Rendering     533
Customizing the View of a Collection     541
High-Performance Rendering with ListView and GridView     545
Summary     549
Q&A     550
Workshop     550
Part V: Exploiting Windows 8.1
HOUR 18: Working with Data     551

An Overview of Files and Folders     551
App Data     553
User Data     559
Networking     564
Further Exploration     575
Summary     576
Q&A     576
Workshop     576
HOUR 19: Supporting Charms     579
The Search Charm     580
The Share Charm     585
The Devices Charm     592
The Settings Charm     603
Summary     608
Workshop     609
Exercises     609
HOUR 20: Leveraging Contracts     611
Account Picture Provider     613
AutoPlay Content and AutoPlay Device     616
File Type Associations     619
Protocol     621
File Open Picker     622
File Save Picker     626
Contact Picker     627
The Contact Contract     630
The Appointments Provider Contract     634
Background Tasks     636
Further Exploration     645
Summary     646
Q&A     646
Workshop     646
HOUR 21: Reading from Sensors     647
Accelerometer     647
Gyrometer     651
Inclinometer     651
Compass     651
Light Sensor     652
Orientation     652
Location     653
Proximity     660
Summary     663
Workshop     663
HOUR 22: Controlling Devices     665
Fingerprint Readers     666
Image Scanners     666
Barcode Scanners     670
Magnetic Stripe Readers     674
Custom Bluetooth Devices     676
Custom Bluetooth Smart Devices     679
Custom USB Devices     682
Custom HID Devices     686
Custom Wi-Fi Direct Devices     688
Further Exploration     690
Summary     690
Workshop     691
Exercises     691
HOUR 23: Live Tiles, Notifications, and the Lock Screen     693
Live Tiles     693
Badges     708
Secondary Tiles     710
Toast Notifications     713
Setting Up Push Notifications     718
The Lock Screen     726
Further Exploration     729
Summary     730
Workshop     730
Exercises     731
HOUR 24: Earning Money     733
Adding Advertisements to Your App     734
Supporting a Free Trial     740
Supporting In-App Purchases     744
Validating Windows Store Receipts     753
Testing Windows Store Features     755
Further Exploration     760
Summary     761
Q&A     761
Workshop     762
Index     763


Submit Errata

More Information

InformIT Promotional Mailings & Special Offers

I would like to receive exclusive offers and hear about products from InformIT and its family of brands. I can unsubscribe at any time.


Pearson Education, Inc., 221 River Street, Hoboken, New Jersey 07030, (Pearson) presents this site to provide information about products and services that can be purchased through this site.

This privacy notice provides an overview of our commitment to privacy and describes how we collect, protect, use and share personal information collected through this site. Please note that other Pearson websites and online products and services have their own separate privacy policies.

Collection and Use of Information

To conduct business and deliver products and services, Pearson collects and uses personal information in several ways in connection with this site, including:

Questions and Inquiries

For inquiries and questions, we collect the inquiry or question, together with name, contact details (email address, phone number and mailing address) and any other additional information voluntarily submitted to us through a Contact Us form or an email. We use this information to address the inquiry and respond to the question.

Online Store

For orders and purchases placed through our online store on this site, we collect order details, name, institution name and address (if applicable), email address, phone number, shipping and billing addresses, credit/debit card information, shipping options and any instructions. We use this information to complete transactions, fulfill orders, communicate with individuals placing orders or visiting the online store, and for related purposes.


Pearson may offer opportunities to provide feedback or participate in surveys, including surveys evaluating Pearson products, services or sites. Participation is voluntary. Pearson collects information requested in the survey questions and uses the information to evaluate, support, maintain and improve products, services or sites, develop new products and services, conduct educational research and for other purposes specified in the survey.

Contests and Drawings

Occasionally, we may sponsor a contest or drawing. Participation is optional. Pearson collects name, contact information and other information specified on the entry form for the contest or drawing to conduct the contest or drawing. Pearson may collect additional personal information from the winners of a contest or drawing in order to award the prize and for tax reporting purposes, as required by law.


If you have elected to receive email newsletters or promotional mailings and special offers but want to unsubscribe, simply email information@informit.com.

Service Announcements

On rare occasions it is necessary to send out a strictly service related announcement. For instance, if our service is temporarily suspended for maintenance we might send users an email. Generally, users may not opt-out of these communications, though they can deactivate their account information. However, these communications are not promotional in nature.

Customer Service

We communicate with users on a regular basis to provide requested services and in regard to issues relating to their account we reply via email or phone in accordance with the users' wishes when a user submits their information through our Contact Us form.

Other Collection and Use of Information

Application and System Logs

Pearson automatically collects log data to help ensure the delivery, availability and security of this site. Log data may include technical information about how a user or visitor connected to this site, such as browser type, type of computer/device, operating system, internet service provider and IP address. We use this information for support purposes and to monitor the health of the site, identify problems, improve service, detect unauthorized access and fraudulent activity, prevent and respond to security incidents and appropriately scale computing resources.

Web Analytics

Pearson may use third party web trend analytical services, including Google Analytics, to collect visitor information, such as IP addresses, browser types, referring pages, pages visited and time spent on a particular site. While these analytical services collect and report information on an anonymous basis, they may use cookies to gather web trend information. The information gathered may enable Pearson (but not the third party web trend services) to link information with application and system log data. Pearson uses this information for system administration and to identify problems, improve service, detect unauthorized access and fraudulent activity, prevent and respond to security incidents, appropriately scale computing resources and otherwise support and deliver this site and its services.

Cookies and Related Technologies

This site uses cookies and similar technologies to personalize content, measure traffic patterns, control security, track use and access of information on this site, and provide interest-based messages and advertising. Users can manage and block the use of cookies through their browser. Disabling or blocking certain cookies may limit the functionality of this site.

Do Not Track

This site currently does not respond to Do Not Track signals.


Pearson uses appropriate physical, administrative and technical security measures to protect personal information from unauthorized access, use and disclosure.


This site is not directed to children under the age of 13.


Pearson may send or direct marketing communications to users, provided that

  • Pearson will not use personal information collected or processed as a K-12 school service provider for the purpose of directed or targeted advertising.
  • Such marketing is consistent with applicable law and Pearson's legal obligations.
  • Pearson will not knowingly direct or send marketing communications to an individual who has expressed a preference not to receive marketing.
  • Where required by applicable law, express or implied consent to marketing exists and has not been withdrawn.

Pearson may provide personal information to a third party service provider on a restricted basis to provide marketing solely on behalf of Pearson or an affiliate or customer for whom Pearson is a service provider. Marketing preferences may be changed at any time.

Correcting/Updating Personal Information

If a user's personally identifiable information changes (such as your postal address or email address), we provide a way to correct or update that user's personal data provided to us. This can be done on the Account page. If a user no longer desires our service and desires to delete his or her account, please contact us at customer-service@informit.com and we will process the deletion of a user's account.


Users can always make an informed choice as to whether they should proceed with certain services offered by InformIT. If you choose to remove yourself from our mailing list(s) simply visit the following page and uncheck any communication you no longer want to receive: www.informit.com/u.aspx.

Sale of Personal Information

Pearson does not rent or sell personal information in exchange for any payment of money.

While Pearson does not sell personal information, as defined in Nevada law, Nevada residents may email a request for no sale of their personal information to NevadaDesignatedRequest@pearson.com.

Supplemental Privacy Statement for California Residents

California residents should read our Supplemental privacy statement for California residents in conjunction with this Privacy Notice. The Supplemental privacy statement for California residents explains Pearson's commitment to comply with California law and applies to personal information of California residents collected in connection with this site and the Services.

Sharing and Disclosure

Pearson may disclose personal information, as follows:

  • As required by law.
  • With the consent of the individual (or their parent, if the individual is a minor)
  • In response to a subpoena, court order or legal process, to the extent permitted or required by law
  • To protect the security and safety of individuals, data, assets and systems, consistent with applicable law
  • In connection the sale, joint venture or other transfer of some or all of its company or assets, subject to the provisions of this Privacy Notice
  • To investigate or address actual or suspected fraud or other illegal activities
  • To exercise its legal rights, including enforcement of the Terms of Use for this site or another contract
  • To affiliated Pearson companies and other companies and organizations who perform work for Pearson and are obligated to protect the privacy of personal information consistent with this Privacy Notice
  • To a school, organization, company or government agency, where Pearson collects or processes the personal information in a school setting or on behalf of such organization, company or government agency.


This web site contains links to other sites. Please be aware that we are not responsible for the privacy practices of such other sites. We encourage our users to be aware when they leave our site and to read the privacy statements of each and every web site that collects Personal Information. This privacy statement applies solely to information collected by this web site.

Requests and Contact

Please contact us about this Privacy Notice or if you have any requests or questions relating to the privacy of your personal information.

Changes to this Privacy Notice

We may revise this Privacy Notice through an updated posting. We will identify the effective date of the revision in the posting. Often, updates are made to provide greater clarity or to comply with changes in regulatory requirements. If the updates involve material changes to the collection, protection, use or disclosure of Personal Information, Pearson will provide notice of the change through a conspicuous notice on this site or other appropriate way. Continued use of the site after the effective date of a posted revision evidences acceptance. Please contact us if you have questions or concerns about the Privacy Notice or any objection to any revisions.

Last Update: November 17, 2020