Views
11 months ago

MICROSOFT_PRESS_EBOOK_PROGRAMMING_WINDOWS_8_APPS_WITH_HTML_CSS_AND_JAVASCRIPT_PDF

1 99

  • Page 2 and 3: PUBLISHED BY Microsoft Press A Divi
  • Page 4 and 5: Capturing a Photo from the Camera .
  • Page 6 and 7: Additional Binding Features .......
  • Page 8 and 9: App Bar Events and Methods ........
  • Page 10 and 11: Geolocation .......................
  • Page 12 and 13: Search in the App Manifest and the
  • Page 14 and 15: Conditions ........................
  • Page 16 and 17: Chapter 16: WinRT Components: An In
  • Page 18 and 19: Getting Known: Marketing, Discovera
  • Page 20 and 21: ather than hundreds or thousands. I
  • Page 22 and 23: the companion content for this book
  • Page 24 and 25: Ben Betz Marcelo Garcia Gonzalez Ji
  • Page 26 and 27: Chapter 1 The Life Story of a Windo
  • Page 28 and 29: apps, but for the vast majority of
  • Page 30 and 31: Sidebar: The Store API and Product
  • Page 32 and 33: FIGURE 1-3 The installation process
  • Page 34 and 35: For example, apps written in JavaSc
  • Page 36 and 37: (including removable storage) has t
  • Page 38 and 39: ut it will not be able to detect po
  • Page 40 and 41: etween pages as generally seen with
  • Page 42 and 43: When you first start writing apps,
  • Page 44 and 45: FIGURE 1-9 Process lifetime states
  • Page 46 and 47: FIGURE 1-10 Automatic roaming of ap
  • Page 48 and 49: An example scenario is illustrated
  • Page 50 and 51: eceive additional information from
  • Page 52 and 53:

    Chapter 2 Quickstart This is a book

  • Page 54 and 55:

    The Remote Machine option allows yo

  • Page 56 and 57:

    see how WinJS itself is implemented

  • Page 58 and 59:

    just about every app based on this

  • Page 60 and 61:

    If you’ve ever pretended or conte

  • Page 62 and 63:

    layouts provided by one of the more

  • Page 64 and 65:

    your app and accessing WinRT APIs.

  • Page 66 and 67:

    So for the mainContent div, we crea

  • Page 68 and 69:

    FIGURE 2-14 Snapped view (landscape

  • Page 70 and 71:

    That said, let’s put map.html in

  • Page 72 and 73:

    (ms-appx-web:// in default.html). Y

  • Page 74 and 75:

    If you were running in the debugger

  • Page 76 and 77:

    whole lot of code? Well, it used to

  • Page 78 and 79:

    well! You can hand a StorageFile ob

  • Page 80 and 81:

    data.properties.description = "At (

  • Page 82 and 83:

    }; } break; Clearly, this is more c

  • Page 84 and 85:

    This last template also builds on t

  • Page 86 and 87:

    our lives. And is that not how you

  • Page 88 and 89:

    When an iframe is in the web contex

  • Page 90 and 91:

    Sidebar: A Few iframe Tips and Caut

  • Page 92 and 93:

    within the app container. For examp

  • Page 94 and 95:

    Sequential Async Operations: Chaini

  • Page 96 and 97:

    Error Handling Within Promises: the

  • Page 98 and 99:

    We already introduced Visual Studio

  • Page 100 and 101:

    Manifest Tab Section Item Use Image

  • Page 102 and 103:

    5. document.DOMContentLoaded fires.

  • Page 104 and 105:

    • WinJS.UI.processAll instantiate

  • Page 106 and 107:

    • settings Fired in response to W

  • Page 108 and 109:

    For an example of an extended splas

  • Page 110 and 111:

    • Suspending When an app is not v

  • Page 112 and 113:

    it simpler and one that we’ve alr

  • Page 114 and 115:

    URI scheme, a subject that we’ll

  • Page 116 and 117:

    In all of this, note again that we

  • Page 118 and 119:

    To check elapsed time, save a times

  • Page 120 and 121:

    Tips and Tricks for WinJS.xhr Witho

  • Page 122 and 123:

    • WinJS.UI.Pages is a higher-leve

  • Page 124 and 125:

    Welcome to NavApp! Content

  • Page 126 and 127:

    var nav = WinJS.Navigation; WinJS.N

  • Page 128 and 129:

    Sidebar: WinJS.Namespace.define and

  • Page 130 and 131:

    • The back buttons on all pages a

  • Page 132 and 133:

    More important than minimizing clos

  • Page 134 and 135:

    • as works like wrap except that

  • Page 136 and 137:

    Chapter 4 Controls, Control Styling

  • Page 138 and 139:

    Standard HTML controls, of course,

  • Page 140 and 141:

    FIGURE 4-2 Standard HTML5 text inpu

  • Page 142 and 143:

    Extensions to HTML Elements As you

  • Page 144 and 145:

    Fully-qualified constructor name in

  • Page 146 and 147:

    processing” or else processing wi

  • Page 148 and 149:

    Second, the contentElement

  • Page 150 and 151:

    Next, take a moment to load up the

  • Page 152 and 153:

    the DOM, pseudo-selectors—like ::

  • Page 154 and 155:

    154

  • Page 156 and 157:

    The Rating control has states that

  • Page 158 and 159:

    Some Tips and Tricks • In the cur

  • Page 160 and 161:

    3. Within the constructor (of the f

  • Page 162 and 163:

    The rest of the constructor (lines

  • Page 164 and 165:

    Custom Controls in Blend Blend is a

  • Page 166 and 167:

    If you drag and drop that control o

  • Page 168 and 169:

    FIGURE 4-10 A common data-binding s

  • Page 170 and 171:

    Within the WinJS structures, multip

  • Page 172 and 173:

    }) }); As with control constructors

  • Page 174 and 175:

    This will update the target propert

  • Page 176 and 177:

    • setProperty Updates a property

  • Page 178 and 179:

    Binding Templates and Lists Did you

  • Page 180 and 181:

    Chapter 5 Collections and Collectio

  • Page 182 and 183:

    If you were paying attention at the

  • Page 184 and 185:

    FIGURE 5-2 The HTML ListView essen

  • Page 186 and 187:

    Quickstart #2b: The ListView Groupi

  • Page 188 and 189:

    This method takes three functions.

  • Page 190 and 191:

    After a small tweak in css/scenario

  • Page 192 and 193:

    FIGURE 5-4 ListView elements as sho

  • Page 194 and 195:

    Again, we have the sa

  • Page 196 and 197:

    screen with a finger. With semantic

  • Page 198 and 199:

    It’s important to understand that

  • Page 200 and 201:

    The scenario also sets up a listene

  • Page 202 and 203:

    Data Sources In all the examples we

  • Page 204 and 205:

    You can use this method within a bi

  • Page 206 and 207:

    Referring to Templates As I noted b

  • Page 208 and 209:

    markSupportForProcessing. Note that

  • Page 210 and 211:

    Tip You might also notice that I’

  • Page 212 and 213:

    FIGURE 5-7 Breaking down typical hu

  • Page 214 and 215:

    and then loading additional pages w

  • Page 216 and 217:

    • Though win-item is listed as a

  • Page 218 and 219:

    Now before you start thinking that

  • Page 220 and 221:

    function itemInfo(itemIndex) { //de

  • Page 222 and 223:

    FIGURE 5-10 Modifying the ListView

  • Page 224 and 225:

    One optimization is the ability to

  • Page 226 and 227:

    already saw, is level 1; now we’r

  • Page 228 and 229:

    As a baseline for our discussion, h

  • Page 230 and 231:

    The hooks for this are three method

  • Page 232 and 233:

    What We’ve Just Learned • In-me

  • Page 234 and 235:

    the other hand, when presented with

  • Page 236 and 237:

    FIGURE 6-2 The same app as Figure 6

  • Page 238 and 239:

    FIGURE 6-4 The layout of a typical

  • Page 240 and 241:

    Let’s also say that we want each

  • Page 242 and 243:

    (unlike having to configure a displ

  • Page 244 and 245:

    as demonstrated in the Snap sample.

  • Page 246 and 247:

    320-pixels-wide space. The general

  • Page 248 and 249:

    initializeLayout: function (listVie

  • Page 250 and 251:

    This now brings up the question of

  • Page 252 and 253:

    time you run the app remotely, you

  • Page 254 and 255:

    conclude that the smallest snapped

  • Page 256 and 257:

    } height: 768px; width: 1024px; If

  • Page 258 and 259:

    • Use a CSS grid where possible t

  • Page 260 and 261:

    Overflowing a Grid Cell One of the

  • Page 262 and 263:

    size of the font.) Unfortunately, p

  • Page 264 and 265:

    other supported properties, see the

  • Page 266 and 267:

    Fonts and Text Overflow As discusse

  • Page 268 and 269:

    FIGURE 6-8 Using CSS regions to ach

  • Page 270 and 271:

    content—content styles are drawn

  • Page 272 and 273:

    To begin with, though, let’s take

  • Page 274 and 275:

    • Context menus can provide speci

  • Page 276 and 277:

    • The app bar is always available

  • Page 278 and 279:

    Hint Technically speaking, you can

  • Page 280 and 281:

    • tooltip The (typically localize

  • Page 282 and 283:

    document.getElementById("cmdAdd").a

  • Page 284 and 285:

    Note The sample on the Windows Deve

  • Page 286 and 287:

    append your page-specific commands

  • Page 288 and 289:

    Scenario 2 of the HTML Appbar Contr

  • Page 290 and 291:

    Command Menus The next aspect of an

  • Page 292 and 293:

    Our good friend the HTML AppBar con

  • Page 294 and 295:

    Figure 7-1 Examples of flyout contr

  • Page 296 and 297:

    Like I said before (apparently I am

  • Page 298 and 299:

    What was that word I used before?

  • Page 300 and 301:

    Music  show: Notice tha

  • Page 302 and 303:

    Hint If you process the right mouse

  • Page 304 and 305:

    You then configure the dialog throu

  • Page 306 and 307:

    To test this, you need to disconnec

  • Page 308 and 309:

    The last piece is to notify the use

  • Page 310 and 311:

    • Message dialogs (Windows.UI.Pop

  • Page 312 and 313:

    check boxes and radio buttons. As a

  • Page 314 and 315:

    • Local app state Those settings

  • Page 316 and 317:

    FIGURE 8-1 The Sports app’s AppDa

  • Page 318 and 319:

    • clearAsync() A variant of clear

  • Page 320 and 321:

    Composites are, in many ways, like

  • Page 322 and 323:

    • The Windows.Storage.DownloadsFo

  • Page 324 and 325:

    var fileContents = "Congratulations

  • Page 326 and 327:

    To make it even simpler, the WinJS.

  • Page 328 and 329:

    Similarly, it’s not necessary to

  • Page 330 and 331:

    • IndexedDB has a 250MB limit per

  • Page 332 and 333:

    e found on the SkyDrive reference,

  • Page 334 and 335:

    invoke the Settings charm. This is

  • Page 336 and 337:

    A common group of settings are thos

  • Page 338 and 339:

    Now because most apps will likely u

  • Page 340 and 341:

    FIGURE 8-4 The Help settings flyout

  • Page 342 and 343:

    FIGURE 8-5 The settings flyout from

  • Page 344 and 345:

    as for Documents Library and Remova

  • Page 346 and 347:

    FIGURE 8-7 A single-selection file

  • Page 348 and 349:

    FIGURE 8-11 The file picker used to

  • Page 350 and 351:

    those files. If you check the manif

  • Page 352 and 353:

    Default file name if the user does

  • Page 354 and 355:

    The same is also true for documents

  • Page 356 and 357:

    Beyond this shallow default behavio

  • Page 358 and 359:

    When the query is built through a m

  • Page 360 and 361:

    queries; just search for this class

  • Page 362 and 363:

    • The file picker is the way that

  • Page 364 and 365:

    other UI elements we’ve been usin

  • Page 366 and 367:

    The Touch Language, Its Translation

  • Page 368 and 369:

    You might notice in the table above

  • Page 370 and 371:

    Edge Gestures As we saw in Chapter

  • Page 372 and 373:

    gestures interact with WinJS contro

  • Page 374 and 375:

    • supportedUsages An array of Win

  • Page 376 and 377:

    FIGURE 9-1 The PointerEvents exampl

  • Page 378 and 379:

    Method msSetPointerCapture Descript

  • Page 380 and 381:

    FIGURE 9-2 The PointerEvents exampl

  • Page 382 and 383:

    Note that if a pointer has been hel

  • Page 384 and 385:

    Now I’m sure you’re asking some

  • Page 386 and 387:

    The MSGestureChange handler for eac

  • Page 388 and 389:

    Again, refer to the documentation o

  • Page 390 and 391:

    FIGURE 9-5 The soft keyboard

  • Page 392 and 393:

    The keyboard will also adjust its a

  • Page 394 and 395:

    var elementToAnimate = document.get

  • Page 396 and 397:

    Inking Beyond the built-in soft key

  • Page 398 and 399:

    Geolocation Before we explore senso

  • Page 400 and 401:

    } document.getElementById("accuracy

  • Page 402 and 403:

    Orientation sensor provides a simpl

  • Page 404 and 405:

    What We’ve Just Learned • “De

  • Page 406 and 407:

    Apps Using HTML5 Faster. While some

  • Page 408 and 409:

    Graphics Elements: Img, Svg, and Ca

  • Page 410 and 411:

    presentation, so if new styles are

  • Page 412 and 413:

    Sidebar: Using Media Queries to Sho

  • Page 414 and 415:

    something that’s not been inked i

  • Page 416 and 417:

    } //Request the next frame requestA

  • Page 418 and 419:

    mediaControl = Windows.Media.MediaC

  • Page 420 and 421:

    msInsertVideoEffect msInsertAudioEf

  • Page 422 and 423:

    var sound = new Audio("media/Spring

  • Page 424 and 425:

    Playback Manager and Background Aud

  • Page 426 and 427:

    These declarations appear as follow

  • Page 428 and 429:

    The Media Control UI As mentioned i

  • Page 430 and 431:

    function nextHandler () { curSong++

  • Page 432 and 433:

    For example, the Music app that com

  • Page 434 and 435:

    var picsLib = Windows.Storage.Known

  • Page 436 and 437:

    eturn SdkSample.sampleFile.properti

  • Page 438 and 439:

    title String System.Title, System.M

  • Page 440 and 441:

    var ImageProperties = {}; function

  • Page 442 and 443:

    } ImageProperties.savePropertiesAsy

  • Page 444 and 445:

    When we click Grayscale we enter th

  • Page 446 and 447:

    function saveGrayscale() { var pick

  • Page 448 and 449:

    You use the same BitmapPropertySet

  • Page 450 and 451:

    getPresetProfile(id("profileSelect"

  • Page 452 and 453:

    directly. As seen in the Media exte

  • Page 454 and 455:

    function captureVideo() { var dialo

  • Page 456 and 457:

    } previewStarted = true; The other

  • Page 458 and 459:

    FIGURE 10-9 Previewing and recordin

  • Page 460 and 461:

    FIGURE 10-10 Scenario 2 of the Medi

  • Page 462 and 463:

    if (typeof (e.request) != 'undefine

  • Page 464 and 465:

    o Set PlayToSource.next property to

  • Page 466 and 467:

    sourcechangerequested: function (ev

  • Page 468 and 469:

    Chapter 11 Purposeful Animations In

  • Page 470 and 471:

    In this uncommonly short chapter, t

  • Page 472 and 473:

    Key Point Built-in controls and oth

  • Page 474 and 475:

    The Pointer Down animation changes

  • Page 476 and 477:

    js/enterPage.js) provides a choice

  • Page 478 and 479:

    function runCustomShowTransition()

  • Page 480 and 481:

    For example, a transition for a sin

  • Page 482 and 483:

    Here, the animation-name style (ani

  • Page 484 and 485:

    What’s tricky to understand about

  • Page 486 and 487:

    e handled entirely through CSS: jus

  • Page 488 and 489:

    where the drawClock function gets t

  • Page 490 and 491:

    on your own with setTimeout and set

  • Page 492 and 493:

    Within the apps themselves, consumi

  • Page 494 and 495:

    • In its event handler, the app d

  • Page 496 and 497:

    The source app sample provides a nu

  • Page 498 and 499:

    Sharing text—Scenario 1 (js/text.

  • Page 500 and 501:

    }; } image: "http://sourceuri.com/c

  • Page 502 and 503:

    Target Apps Looking back to Figure

  • Page 504 and 505:

    Much of this structure is built for

  • Page 506 and 507:

    document.querySelector(".commentbox

  • Page 508 and 509:

    var images = iFrame.contentDocument

  • Page 510 and 511:

    Quicklinks The last aspect of the S

  • Page 512 and 513:

    from the manifest var dataFormats =

  • Page 514 and 515:

    If at any time you want to clear th

  • Page 516 and 517:

    flip side, the Search charm is not

  • Page 518 and 519:

    The eventArgs object here will be a

  • Page 520 and 521:

    • App is in the snapped state and

  • Page 522 and 523:

    Here’s how it’s done in Scenari

  • Page 524 and 525:

    Providing Result Suggestions As sho

  • Page 526 and 527:

    However, you cannot know ahead of t

  • Page 528 and 529:

    Info Tip is tooltip text for when t

  • Page 530 and 531:

    Once again be warned that URIs with

  • Page 532 and 533:

    location. Apps that work only with

  • Page 534 and 535:

    FIGURE 12-16 The Save UI as display

  • Page 536 and 537:

    First, the UI will use the allowedF

  • Page 538 and 539:

    Note that if you need to perform au

  • Page 540 and 541:

    Back in Chapter 8, we saw some of t

  • Page 542 and 543:

    It’s through this call, in other

  • Page 544 and 545:

    Updating a Remote File: UI In Scena

  • Page 546 and 547:

    } } } When the provider app is invo

  • Page 548 and 549:

    We save that step for when the UI h

  • Page 550 and 551:

    FIGURE 12-24 The picker UI within t

  • Page 552 and 553:

    Property Type Field Properties and

  • Page 554 and 555:

    Within a provider, each contact is

  • Page 556 and 557:

    Do note that as with file picker pr

  • Page 558 and 559:

    information an app is built around;

  • Page 560 and 561:

    FIGURE 13-2 A Start screen after ru

  • Page 562 and 563:

    FIGURE 13-5 Pinning a secondary til

  • Page 564 and 565:

    FIGURE 13-6 Up to three toast notif

  • Page 566 and 567:

    triggers—subject to specific quot

  • Page 568 and 569:

    The Four Sources of Updates and Not

  • Page 570 and 571:

    FIGURE 13-14 Push notifications ori

  • Page 572 and 573:

    Once created, a secondary tile has

  • Page 574 and 575:

    function pinSecondaryTile() { var S

  • Page 576 and 577:

    option). 65 This is demonstrated in

  • Page 578 and 579:

    in the topic linked to above, 66 ar

  • Page 580 and 581:

    Creating the Payload, Method 1: Pop

  • Page 582 and 583:

    The library makes it easier to popu

  • Page 584 and 585:

    var tileContent = NotificationsExte

  • Page 586 and 587:

    To delay the appearance of an updat

  • Page 588 and 589:

    Value Glyph XML (none) n/a (number

  • Page 590 and 591:

    Periodic Updates As described earli

  • Page 592 and 593:

    Similarly, change stopBadgePolling

  • Page 594 and 595:

    Giddy on the day he learned to sit

  • Page 596 and 597:

    To use PHP with IIS, you might need

  • Page 598 and 599:

    • In Visual Studio Express 2012 f

  • Page 600 and 601:

    • Toasts can include text and an

  • Page 602 and 603:

    Populate the XmlDocument in toastXm

  • Page 604 and 605:

    Did you actually hear any sounds? W

  • Page 606 and 607:

    Toast Events and Activation As far

  • Page 608 and 609:

    thousands or even millions of chann

  • Page 610 and 611:

    Managing Channel URIs (Service) If

  • Page 612 and 613:

    pushNotificationReceivedHandler fun

  • Page 614 and 615:

    Debugging Tips When using push noti

  • Page 616 and 617:

    pounding the network, flaring up th

  • Page 618 and 619:

    You might also notice that the Syst

  • Page 620 and 621:

    Clearly, each pair of these conditi

  • Page 622 and 623:

    This object also provides a getDefe

  • Page 624 and 625:

    Lock Screen-Dependent Tasks and Tri

  • Page 626 and 627:

    FIGURE 13-19 The user consent promp

  • Page 628 and 629:

    A third caveat is that background t

  • Page 630 and 631:

    Chapter 14 Networking Having moved

  • Page 632 and 633:

    servers. In those cases—such as f

  • Page 634 and 635:

    The ConnectionProfile Object Of all

  • Page 636 and 637:

    It’s also very important to remem

  • Page 638 and 639:

    Such settings, by the way, might in

  • Page 640 and 641:

    It’s perfectly understood that so

  • Page 642 and 643:

    XmlHttpRequest As we’ve seen a nu

  • Page 644 and 645:

    awareness and handling connectivity

  • Page 646 and 647:

    statusCode (from the server). Repea

  • Page 648 and 649:

    Assume uri is a Windows.Foundation.

  • Page 650 and 651:

    To create each part, first create a

  • Page 652 and 653:

    Providing Headers and Credentials W

  • Page 654 and 655:

    Windows.Networking.BackgroundTransf

  • Page 656 and 657:

    In this section we’ll also take a

  • Page 658 and 659:

    for domain-joined machines—see ta

  • Page 660 and 661:

    A credential object also contains a

  • Page 662 and 663:

    Note To run the sample you’ll nee

  • Page 664 and 665:

    The results given to the completed

  • Page 666 and 667:

    for the provider to navigate to a s

  • Page 668 and 669:

    FIGURE 14-5 The Microsoft account l

  • Page 670 and 671:

    } // This app was activated via the

  • Page 672 and 673:

    The result of retrieveFeedAsync is

  • Page 674 and 675:

    function onError(err) { // Match er

  • Page 676 and 677:

    Sockets are generally used when the

  • Page 678 and 679:

    Once the socket has one or more con

  • Page 680 and 681:

    socketsSample.displayStatus("Client

  • Page 682 and 683:

    } // The protocol here is simple: a

  • Page 684 and 685:

    Sidebar: Comparing W3C and WinRT AP

  • Page 686 and 687:

    FIGURE 14-7 Output of Scenario 2 of

  • Page 688 and 689:

    • ControlChannelTrigger StreamSoc

  • Page 690 and 691:

    Chapter 15 Devices and Printing I s

  • Page 692 and 693:

    FIGURE 15-1 Store apps in Windows 8

  • Page 694 and 695:

    auto stateResult = XInputGetState(m

  • Page 696 and 697:

    FIGURE 15-2 The XInput and JavaScri

  • Page 698 and 699:

    The result of the enumeration—the

  • Page 700 and 701:

    Near Field Communication and the Pr

  • Page 702 and 703:

    socket connection between two peer

  • Page 704 and 705:

    From this point on, you’re free t

  • Page 706 and 707:

    Sending One-Shot Payloads: Tap to S

  • Page 708 and 709:

    Sometimes I wonder whether the idea

  • Page 710 and 711:

    From this point on, the system is r

  • Page 712 and 713:

    print output, such as adding additi

  • Page 714 and 715:

    } printTask.oncompleted = onPrintTa

  • Page 716 and 717:

    Chapter 16 WinRT Components: An Int

  • Page 718 and 719:

    Choosing a Mixed Language Approach

  • Page 720 and 721:

    Quickstarts: Creating and Debugging

  • Page 722 and 723:

    public sealed class Tests { public

  • Page 724 and 725:

    I’ve set up TestMethod, by the wa

  • Page 726 and 727:

    = imageDataIn[i + colorOffsetBlue];

  • Page 728 and 729:

    When you build this project (Build

  • Page 730 and 731:

    writing a component won’t necessa

  • Page 732 and 733:

    • A component can contain multipl

  • Page 734 and 735:

    epetition, so the sections that fol

  • Page 736 and 737:

    The first things to understand here

  • Page 738 and 739:

    Interface (in Windows.Foundation) I

  • Page 740 and 741:

    }); } return task.AsAsyncOperation(

  • Page 742 and 743:

    Arrays, Vectors, and Other Alternat

  • Page 744 and 745:

    All along in this example we’ve b

  • Page 746 and 747:

    One thing we can see comparing with

  • Page 748 and 749:

    • WinRT APIs sometimes return Int

  • Page 750 and 751:

    } else { localSettings.Values["Inte

  • Page 752 and 753:

    Obfuscating Code and Protecting Int

  • Page 754 and 755:

    do the same. And although it doesn

  • Page 756 and 757:

    well with subtle colorations but al

  • Page 758 and 759:

    • Marketing, sales, and support P

  • Page 760 and 761:

    • Most importantly, a PowerShell

  • Page 762 and 763:

    Free Apps You don't need to do anyt

  • Page 764 and 765:

    As a user of the web, you’re undo

  • Page 766 and 767:

    Sidebar: Piracy Protection The exis

  • Page 768 and 769:

    Be aware that Sections 4.8 and 4.9

  • Page 770 and 771:

    containing the app’s purchase pri

  • Page 772 and 773:

    • In the App element under Licens

  • Page 774 and 775:

    Trial Versions and App Purchase Imp

  • Page 776 and 777:

    Sending back S_OK indicates that th

  • Page 778 and 779:

    Note that the productListings colle

  • Page 780 and 781:

    As with the app purchase, any chang

  • Page 782 and 783:

    • You can also select a particula

  • Page 784 and 785:

    Screen Readers and Aria Attributes

  • Page 786 and 787:

    FIGURE 17-6 The ARIA sample’s mai

  • Page 788 and 789:

    If you play with the sample, you’

  • Page 790 and 791:

    Finally, with both raster and vecto

  • Page 792 and 793:

    What’s going on with the first an

  • Page 794 and 795:

    have to trick the app host into thi

  • Page 796 and 797:

    The goal with Windows Store apps is

  • Page 798 and 799:

    User Language and Other Settings Wh

  • Page 800 and 801:

    var userCalendar = Windows.System.U

  • Page 802 and 803:

    Group integers var currencyFormatUS

  • Page 804 and 805:

    WinJS.UI namespace without being pa

  • Page 806 and 807:

    To create your first string resourc

  • Page 808 and 809:

    I highly recommend that you organiz

  • Page 810 and 811:

    HTML: The final place we need to lo

  • Page 812 and 813:

    Here are some examples as modified

  • Page 814 and 815:

    1. Create a strings folder in the r

  • Page 816 and 817:

    In your own app, then, look for app

  • Page 818 and 819:

    Once you’ve made your selections

  • Page 820 and 821:

    Once the translation is complete, s

  • Page 822 and 823:

    Select that language, click Add, an

  • Page 824 and 825:

    Releasing Your App to the World We

  • Page 826 and 827:

    If you don’t have some testing me

  • Page 828 and 829:

    those reports that are most interes

  • Page 830 and 831:

    live in the hearts of your customer

  • Page 832 and 833:

    About the Author Kraig Brockschmidt

Metro Revealed - Download Center - Microsoft
Beginning_Ajax_with_PHP._From_novice_to_professional
Beginning Web Development, Silverlight, and ASP.NET AJAX
Learn_To_Code_part_1092864a
Beginning Web Development, Silverlight, and ASP.NET AJAX
Pro JavaScript for Web Apps pdf - EBook Free Download
JavaScript Examples Bible - UserWorks Technologies
ASP.NET