Exam
Ref
70-484:
Essentials
of
Developing
Windows
Store
Apps
Using
C#
Contents
Introduction xvii
Microsoft certifications xvii
Acknowledgments xviii
Errata & booksupport xviii Wewant tohearfromyou xix
Stayin touch xix
Preparing
for the exam xxChapter
1Design
Windows Store apps 1Objective 1.1:Design the Ul layoutand structure 1
Evaluating the conceptual designanddeciding howthe
Ul will becomposed 2
Designing for the inheritance and reuseof visual elements 4
Designing foraccessibility 6
Decidingwhen customcontrolsare needed 9
Objectivesummary 11
Objectivereview 11
Objective1.2:Designforseparationofconcerns(SOC) 12
Planningthe logical layersof your solutionto meetapp
requirements 13
Designing loosely coupled layers 14
Incorporating WinMD components 15
Objectivesummary 17
Objectivereview 17
What do you think of this book? We want to hearfromyou! Microsoft is interested inhearingyourfeedbackso we cancontinually improveour books andlearningresourcesforyou. Toparticipateinabrief online survey,pleasevisit:
Objective 1.3:Applythe MVVM patterntoyour
appdesign 19
Designing and implementing theappropriate data
model to support business entities 19
Designingaviewmodel tosupportthe view based on
your model 25
Developing aviewto meetdata-binding requirements 25
Creating viewmodelsusing NotifyPropertyChanged,
ObservableCollection,and CollectionViewSource 27
Objectivesummary 31
Objectivereview 31
Objective1.4: Designand implement Process Lifetime
Management (PLM) 32
Choosingastatemanagement strategy 33
Handling theSuspendingeventand preparing for app
termination 35
Handlingthe Resuming event 38
Handlingthe OnActivatedevents 38
Checking the ActivationKind and previousstate 41
Objectivesummary 44
Objectivereview 44
Objective 1.5: Plan foran appdeployment 45
Planning adeployment basedonWindowsStore app
certificationrequirements 45
Preparing anapplication manifest 48
Signing anapplication 53
Planning the requirementsforan enterprise deployment 54
Objectivesummary 55
Objectivereview 56
Chaptersummary 57
Answers 58
Objective1.1:Thought experiment 58
Objective1.1: Review 58
Objective 1.2:Thought experiment 59
Objective 1.2: Review 59
Objective 1.3:Thought experiment 60
Objective 1.3: Review 60
Objective 1.4:Thought experiment 61
Objective 1.4: Review 61
Objective 1.5:Thought experiment 62
Objective 1.5: Review 62
Chapter
2Develop
Windows Storeapps 65 Objective2.1: Access and displaycontacts 65Calling theContactPickerclass 66
Filteringwhich contacts todisplay 69
Selecting specific contactdata 70
Displayinga setnumber ofcontacts 72
Creating and modifying contactinformation 74
Objective summary 76
Objective review 76
Objective2.2: Designfor charms and contracts 77
Choosingtheappropriatecharm based onapprequirements 78
Designing your app in acharm-aware and
contract-aware manner 82
Configuringthe app manifest for correct permissions 91
Objective summary 93
Objective review 94
Objective2.3: Implementsearch 95
Providing and constraining searchwithin anapp 95
Providing search result previews 100
Providing searchsuggestions using the SearchPane class 102
Implementing activation from withinsearch 107
Searching for and launchingother apps 108
Objective summary 109
Objective review 110
Objective2.4: ImplementShare in anapp 110
Usingthe DataTransferManagerclasstoshare datawith
other apps 111
Accepting sharing requestsbyimplementingactivation
within the Share charm 114
Limitingthe scope ofsharing usingtheDataPackage object 120
Implementing in-appshareoutside the Share charm 122
Objectivesummary 123
Objective review 123
Objective2.5: Manageapp settingsand preferences 124
Choosing whichapp featuresare accessed inAppSettings 124
Addingentry pointsforAppSettings in theSettingswindow 125
Creating settings flyouts usingthePopup control 127
Adding settingsto Popup 129
Storingand retrieving settingsfrom the roamingapp
datastore 130
Objectivesummary 132
Objectivereview 133
Chaptersummary 134
Answers 135
Objective2.1:Thought experiment 135
Objective2.1: Review 135
Objective2.2:Thought experiment 136
Objective2.2: Review 136
Objective2.3:Thought experiment 137
Objective2.3: Review 138
Objective2.4:Thoughtexperiment 138
Objective2.4: Review 139
Objective2.5:Thought experiment 140
Objective2.5: Review 140
Chapter
3 Create the user interface 143Objective3.1: Create layout awareapps to handle viewstates 143
Handlingview state eventsfrom ViewStateManager 144
Choosing betweenstylepatternsfor differentviewstates 151
Setting up app orientation in the manifest 154
Objectivesummary 156
Objective review 156
Objective3.2: Implementlayoutcontrols 157
Implementing the Gridcontrolto structure the applayout 158
Settingthe numberof rows/columnsand size 163
Enabling scroll andzoom capabilitiesin layoutcontrols 166
Managingtextflowandpresentation 170
Objectivesummary 177
Objectivereview 177
Objective3.3: Designandimplementthe appbar 178
Determiningwhatto puton the app bar basedon app
requirements 179
Designing theplacementof controlsonthe app bar 182
Styling and positioningapp bar items 184
HandlingAppBarevents 186
Objectivesummary 188
Objectivereview 188
Objective3.4: Designand implementdatapresentation 189
Choosingand implementing data controlsto meetapp
requirements 190
Creating datatemplatesto meet app requirements 197
Objectivesummary 200
Objectivereview 201
Objective3.5: Create and manageXAMLstylesand templates 202
Implementing and extending stylesandtemplates 203
Implementing gradients 209
Modifyingstylesbasedon eventand propertytriggers 210
Creating shared resourcesandthemes 212
Objectivesummary 214
Objectivereview 214
Chaptersummary 216
Answers 217
Objective3.1:Thought experiment 217
Objective3.1: Review 217
Objective3.2:Thought experiment 218
Objective3.2: Review 218
Objective3.3:Thought experiment 219
Objective3.3: Review 220
Objective3.4:Thought experiment 221
Objective3.4: Review 221
Objective3.5:Thought experiment 222
Objective3.5: Review 222
Chapter
4 Program the user interaction 225Objective4.1: Create and managetiles 226
Creatingand updatingtiles and tilecontents 226
Creatingand updating badges usingthe
TileUpdateManagerclass 236
Respondingto notification requests 237
Choosingan appropriate tileupdateschedulebasedon
apprequirements 244
Objectivesummary 247
Objective review 248
Objective4.2: Notifyusers by using toast 249
Enabling anappfortoastnotifications 249
Populatingtoastnotifications withimagesand text us¬
ingthe ToastUpdateManagerclass 252
Controllingtoastduration 255
Playing sounds with toastnotifications 256
Responding totoast events 257
Objectivesummary 261
Objective review 262
Objective4.3: Manage inputdevices 263
Capturing gesture libraryevents 264
Creatingcustom gesture recognizers 272
Listeningto mouseeventsortouchgestures 274
Managing stylus inputand inking 276
Objectivesummary 278
Objectivereview 278
Objective4.4: Designandimplement navigation in anapp 280
Designing navigationto meetapprequirements 280
Working with navigationevents, properties, and functions 286
Using Semantic Zoom in your app 292
Objectivesummary 295
Objectivereview 296
Chaptersummary 297
Answers 298
Objective4.1:Thoughtexperiment 298
Objective4.1: Review 298
Objective4.2:Thoughtexperiment 299
Objective4.2: Review 300
Objective4.3:Thought experiment 301
Objective4.3: Review 301
Objective4.4:Thought experiment 302
Objective4.4: Review 303
Chapter
5Manage
security
and data 305 Objective 5.1: Chooseanappropriatedataaccessstrategy 306Choosingtheappropriatedataaccessstrategybased
on app requirements 306
Managing applicationdata 316
Storingand retrievingdata froma remote location 328
Objectivesummary 330
Objectivereview 330
Objective5.2: Retrieve data remotely 331
Using HttpClienttoretrieve data from web services 332
Setting theappropriate HTTP verbforREST 337
Consuming SOAP/WCFservices 340
Using WebSockets for bidirectional communication 341
Handlingthe progress of data requests 347
Objectivesummary 350
Objectivereview 350
Objective 5.3:Implementdatabinding 351
Choosingand implementingdata-bound controls 353
Bindingcollectionstoitems controls 356
Implementingthe IValueConverter interface 360
Creatingandsetting dependency properties 361
Validating userinput 364
Enablingdata filtering,grouping,andsorting in the
userinterface 367
Objectivesummary 369
Objective review 370
Objective5.4: ManageWindowsAuthentication 371
Retrieving auser's roles and claims 372
Storing and retrievingcredentialswith the PasswordVault class 374
Implementingthe CredentialPicker class 376
Objectivesummary 380
Objective review 380
Objective 5.5: Manageweb authentication 382
Usingthe Windows.Security.Authentication.Web namespace 382
Implementingthe WebAuthenticationBroker class 384
Setting up OAuth2 forauthentication 386
Setting up single sign-on (SSO) 387
Implementingthe CredentialPickerclass 388
Implementingcredential roaming 389
Objectivesummary 389
Objective review 389
Chaptersummary 391
Answers 392
Objective5.1:Thought experiment 392
Objective5.1: Review 392
Objective 5.2:Thought experiment 393
Objective5.2: Review 394
Objective5.3:Thought experiment 395
Objective 5.4:Thought experiment 397
Objective 5.4: Review 397
Objective 5.5:Thoughtexperiment 398
Objective5.5: Review 399
Index 401
What do you think of this book?Wewant tohear from you!
Microsoft is interested inhearingyour feedbackso we cancontinually improveour
books andlearningresourcesfor you.Toparticipateinabrief onlinesurvey,pleasevisit:
www.microsoft.com/learning/booksurvey/