<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
  version="2.0">
  <channel>
    <title>Jean-Francois Lavidalle's blog</title>
    <atom:link
      href="https://docs.microsoft.com/archive/blogs/jflavidalle/feed.xml"
      rel="self"
      type="application/rss+xml" />
    <link>https://docs.microsoft.com/archive/blogs/jflavidalle/feed.xml</link>
    <description />
    <lastBuildDate>Wed, 17 Apr 2019 04:05:43 GMT</lastBuildDate>
    <language>en-US</language>
    <sy:updatePeriod>hourly</sy:updatePeriod>
    <sy:updateFrequency>1</sy:updateFrequency>
    <item>
      <title>Developpement Windows Phone - partie 25</title>
      <link>https://docs.microsoft.com/archive/blogs/jflavidalle/developpement-windows-phone-partie-25</link>
      <pubDate>Tue, 06 Sep 2011 13:25:00 GMT</pubDate>
      <dc:creator><![CDATA[JFLavidalle]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/jflavidalle/2011/09/06/developpement-windows-phone-partie-25/</guid>
      <description><![CDATA[Cet article fait partie d&rsquo;une s&eacute;rie d&rsquo;articles sur le d&eacute;veloppement...]]></description>
      <content:encoded><![CDATA[<p>Cet article fait partie d&rsquo;une s&eacute;rie d&rsquo;articles sur le d&eacute;veloppement Windows Phone. Il s&rsquo;agit d&rsquo;une traduction des articles se trouvant <a href="http://create.msdn.com/en-us/education/quickstarts" target="_blank">sur la MSDN</a>.</p>
<p><a name="sommaire"></a>Sommaire</p>
<p><strong>Bien d&eacute;buter et fondamentaux</strong></p>
<ul>
<li><a href="http://blogs.msdn.com/b/jflavidalle/archive/2011/09/06/developpement-windows-phone-partie-1.aspx" target="_blank">Bien d&eacute;marrer (Hello World)</a></li>
<li><a href="http://blogs.msdn.com/b/lgmorand/archive/2011/09/06/developpement-windows-phone-partie-2.aspx" target="_blank">Cr&eacute;er une interface utilisateur pour Windows Phone en XAML</a></li>
<li><a href="http://blogs.msdn.com/b/patrick_payet/archive/2011/09/06/developpement-windows-phone-partie-3.aspx" target="_blank">Utiliser des contr&ocirc;les</a></li>
<li><a href="http://blogs.msdn.com/b/jflavidalle/archive/2011/09/06/developpement-windows-phone-partie-4.aspx" target="_blank">Types de contr&ocirc;les</a></li>
<li><a href="http://blogs.msdn.com/b/lgmorand/archive/2011/09/06/developpement-windows-phone-partie-5.aspx" target="_blank">Contr&ocirc;les Panorama et Pivot</a></li>
<li><a href="http://blogs.msdn.com/b/patrick_payet/archive/2011/09/06/developpement-windows-phone-partie-6.aspx" target="_blank">Travailler avec du texte sur le Windows Phone</a></li>
<li><a href="http://blogs.msdn.com/b/jflavidalle/archive/2011/09/06/developpement-windows-phone-partie-7.aspx" target="_blank">Mise en page sur l&rsquo;&eacute;cran</a></li>
<li><a href="http://blogs.msdn.com/b/lgmorand/archive/2011/09/06/developpement-windows-phone-partie-8.aspx" target="_blank">Orientations de l&rsquo;&eacute;cran</a></li>
<li><a href="http://blogs.msdn.com/b/patrick_payet/archive/2011/09/06/developpement-windows-phone-partie-9.aspx" target="_blank">Saisie tactile</a></li>
<li><a href="http://blogs.msdn.com/b/jflavidalle/archive/2011/09/06/developpement-windows-phone-partie-10.aspx" target="_blank">Navigation</a></li>
<li><a href="http://blogs.msdn.com/b/lgmorand/archive/2011/09/06/developpement-windows-phone-partie-11.aspx" target="_blank">Ex&eacute;cuter votre application en arri&egrave;re-plan (tombstoning)</a></li>
<li><a href="http://blogs.msdn.com/b/patrick_payet/archive/2011/09/06/developpement-windows-phone-partie-12.aspx" target="_blank">Notifications Push pour le d&eacute;veloppement Windows Phone</a></li>
<li><a href="http://blogs.msdn.com/b/jflavidalle/archive/2011/09/06/developpement-windows-phone-partie-13.aspx" target="_blank">Publier votre application sur le Marketplace</a></li>
</ul>
<p><strong>Visuels et m&eacute;dia</strong></p>
<ul>
<li><a href="http://blogs.msdn.com/b/lgmorand/archive/2011/09/06/developpement-windows-phone-partie-14.aspx" target="_blank">Images</a></li>
<li><a href="http://blogs.msdn.com/b/patrick_payet/archive/2011/09/06/developpement-windows-phone-partie-15.aspx" target="_blank">Animations</a></li>
<li><a href="http://blogs.msdn.com/b/jflavidalle/archive/2011/09/06/developpement-windows-phone-partie-16.aspx" target="_blank">Vid&eacute;o et Audio</a></li>
<li><a href="http://blogs.msdn.com/b/lgmorand/archive/2011/09/06/developpement-windows-phone-partie-17.aspx" target="_blank">Graphiques</a></li>
<li><a href="http://blogs.msdn.com/b/patrick_payet/archive/2011/09/06/developpement-windows-phone-partie-18.aspx" target="_blank">Pinceaux</a></li>
</ul>
<p><strong>Travailler avec les donn&eacute;es</strong></p>
<ul>
<li><a href="http://blogs.msdn.com/b/jflavidalle/archive/2011/09/06/developpement-windows-phone-partie-19.aspx" target="_blank">Obtenir des donn&eacute;es dans vos applications Windows Phone</a></li>
<li><a href="http://blogs.msdn.com/b/lgmorand/archive/2011/09/06/developpement-windows-phone-partie-20.aspx" target="_blank">Data binding</a></li>
<li><a href="http://blogs.msdn.com/b/patrick_payet/archive/2011/09/06/developpement-windows-phone-partie-21.aspx" target="_blank">Isolated storage</a></li>
<li><a href="http://blogs.msdn.com/b/jflavidalle/archive/2011/09/06/developpement-windows-phone-partie-22.aspx" target="_blank">Acc&eacute;der &agrave; un service Web REST</a></li>
<li><a href="http://blogs.msdn.com/b/lgmorand/archive/2011/09/06/developpement-windows-phone-partie-23.aspx" target="_blank">Consommer des donn&eacute;es Windows Azure</a></li>
</ul>
<p><strong>Sondes et autres fonctionnalit&eacute;s sp&eacute;cifiques au t&eacute;l&eacute;phone</strong></p>
<ul>
<li><a href="http://blogs.msdn.com/b/patrick_payet/archive/2011/09/06/developpement-windows-phone-partie-24.aspx" target="_blank">Lanceurs et choosers</a></li>
<li><a href="http://blogs.msdn.com/b/jflavidalle/archive/2011/09/06/developpement-windows-phone-partie-25.aspx" target="_blank">D&eacute;tecter des mouvements (acc&eacute;l&eacute;rom&egrave;tres)</a></li>
<li><a href="http://blogs.msdn.com/b/lgmorand/archive/2011/09/06/developpement-windows-phone-partie-26.aspx" target="_blank">D&eacute;velopper avec le GPS Windows Phone (Services de localisation)</a></li>
<li><a href="http://blogs.msdn.com/b/patrick_payet/archive/2011/09/06/developpement-windows-phone-partie-27.aspx" target="_blank">D&eacute;velopper avec l&rsquo;appareil photo du Windows Phone</a></li>
</ul>
<hr />
<h1>D&eacute;tection de Mouvements (Acc&eacute;l&eacute;rom&egrave;tre )</h1>
<p>Silverlight pour Windows Phone contient un namespace d&eacute;di&eacute; &agrave; la gestion et l&rsquo;exploitation en temps r&eacute;el des donn&eacute;es de l&rsquo;acc&eacute;l&eacute;rom&egrave;tre du t&eacute;l&eacute;phone. L&rsquo;acc&eacute;l&eacute;rom&egrave;tre mesure l&rsquo;intensit&eacute; et la direction de la force d&rsquo;acc&eacute;l&eacute;ration appliqu&eacute;e sur le t&eacute;l&eacute;phone. Cette force est exprim&eacute;e sous forme de variable d&eacute;cimale dont les valeurs s&rsquo;&eacute;tendent de -1.0 &agrave; 1.0. Cette valeur d&rsquo;intensit&eacute; est fournie pour les axes X, Y et Z du t&eacute;l&eacute;phone, correspondant &agrave; la force d&rsquo;acc&eacute;l&eacute;ration subie par le t&eacute;l&eacute;phone respectivement en largeur, longueur et profondeur. Pour d&eacute;terminer la direction de la force d&rsquo;acc&eacute;l&eacute;ration, ces valeurs doivent &ecirc;tre compar&eacute;es les unes aux autres. Bien que le calcul de la direction ne soit pas couvert dans ce tutoriel, nous verrons comment r&eacute;cup&eacute;rer les valeurs fournies par l&rsquo;acc&eacute;l&eacute;rom&egrave;tre afin que la comparaison de ces valeurs soit simple lorsque vous utiliserez l&rsquo;acc&eacute;l&eacute;rom&egrave;tre dans vos applications ou des jeux.</p>
<p>Cette application est une application Silverlight pour Windows Phone qui re&ccedil;oit des donn&eacute;es provenant directement du t&eacute;l&eacute;phone Windows Phone 7, et qui repr&eacute;sente graphiquement ces donn&eacute;es sur un canvas. L&rsquo;&eacute;tude de cette application dans ce tutoriel se d&eacute;coupe en plusieurs sections :</p>
<ul>
<li><a href="http://blogs.msdn.com/b/jflavidalle/archive/2011/09/06/developpement-windows-phone-partie-25.aspx#interface">Cr&eacute;er l&rsquo;interface utilisateur pour l&rsquo;affichage des donn&eacute;es de l&rsquo;acc&eacute;l&eacute;rom&egrave;tre </a></li>
<li><a href="http://blogs.msdn.com/b/jflavidalle/archive/2011/09/06/developpement-windows-phone-partie-25.aspx#gettinginput">Lire les donn&eacute;es de l&rsquo;acc&eacute;l&eacute;rom&egrave;tre en temps r&eacute;el</a></li>
<li><a href="http://blogs.msdn.com/b/jflavidalle/archive/2011/09/06/developpement-windows-phone-partie-25.aspx#graph">Dessiner les donn&eacute;es de l&rsquo;acc&eacute;l&eacute;rom&egrave;tre</a></li>
</ul>
<p><a href="http://code.msdn.microsoft.com/silverlightforphone/Release/ProjectReleases.aspx?ReleaseId=5206">T&eacute;l&eacute;chargez le code source complet de ce tutoriel</a>, h&eacute;berg&eacute; dans la Silverlight pour Windows Phone Code Gallery.</p>
<p>&nbsp;</p>
<h2>D&eacute;monstration Vid&eacute;o</h2>
<p>Pour voir un exemple vid&eacute;o de l&rsquo;utilisation de l&rsquo;application d&eacute;taill&eacute;e dans ce tutoriel ainsi que du d&eacute;veloppement tel que d&eacute;crit vous pouvez regarder la vid&eacute;o suivante. <a href="https://channel9.msdn.com/posts/Windows-Phone-7-Accelerometer-QuickApp-Using-Silverlight-for-Windows-Phone-7">La page web de cette vid&eacute;o</a> sur Channel 9 propose plusieurs formats et qualit&eacute;s, vous pouvez ainsi la regarder en haute d&eacute;finition ou la t&eacute;l&eacute;charger pour la lire sur des p&eacute;riph&eacute;riques diff&eacute;rents d&rsquo;un ordinateur.</p>
<p><object data="data:application/x-oleobject;base64,QfXq3+HzJEysrJnDBxUISgAJAACgRAAApyYAABQAAAAjADAAMABGAEYARgBGAEYARgAAAAAAAAAAAAAAAAAAAG4AAABoAHQAdABwADoALwAvAGMAaABhAG4AbgBlAGwAOQAuAG0AcwBkAG4ALgBjAG8AbQAvAHMAYwByAGkAcAB0AHMALwBWAGkAZABlAG8AUABsAGEAeQBlAHIALgB4AGEAcAA/AHYAPQAyAC4AMQAAADwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6AgAAZABlAGYAZQByAHIAZQBkAEwAbwBhAGQAPQB0AHIAdQBlACwAbQA9AGgAdAB0AHAAOgAvAC8AZgBpAGwAZQBzAC4AYwBoADkALgBtAHMALwBjAGgAOQAvADEANQAzADgALwA4AGEAZABhADUAZAAyAGQALQBmADIAYgA5AC0ANAAzAGEAYgAtAGIANgA4AGQALQA5AGUAMwBmADAAMQA2ADQAMQA1ADMAOAAvAGEAYwBjAGUAbABlAHIAbwBtAGUAdABlAHIAcQB1AGkAYwBrAGEAcABwAF8AMgBNAEIAXwBjAGgAOQAuAHcAbQB2ACwAYQB1AHQAbwBzAHQAYQByAHQAPQBmAGEAbABzAGUALABhAHUAdABvAGgAaQBkAGUAPQB0AHIAdQBlACwAcwBoAG8AdwBlAG0AYgBlAGQAPQB0AHIAdQBlACwAdABoAHUAbQBiAG4AYQBpAGwAPQBoAHQAdABwADoALwAvAGYAaQBsAGUAcwAuAGMAaAA5AC4AbQBzAC8AYwBoADkALwAxADUAMwA4AC8AOABhAGQAYQA1AGQAMgBkAC0AZgAyAGIAOQAtADQAMwBhAGIALQBiADYAOABkAC0AOQBlADMAZgAwADEANgA0ADEANQAzADgALwBhAGMAYwBlAGwAZQByAG8AbQBlAHQAZQByAHEAdQBpAGMAawBhAHAAcABfADUAMQAyAF8AYwBoADkALgBqAHAAZwAsACAAcABvAHMAdABpAGQAPQAwAAAAAAAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" width="664" type="application/x-silverlight-2" height="374"><param name="source" value="https://channel9.msdn.com/scripts/VideoPlayer.xap?v=2.1" /><param name="initParams" value="deferredLoad=true,m=http://files.ch9.ms/ch9/1538/8ada5d2d-f2b9-43ab-b68d-9e3f01641538/accelerometerquickapp_2MB_ch9.wmv,autostart=false,autohide=true,showembed=true,thumbnail=http://files.ch9.ms/ch9/1538/8ada5d2d-f2b9-43ab-b68d-9e3f01641538/accelerometerquickapp_512_ch9.jpg, postid=0" /><param name="background" value="#00FFFFFF" /></object></p>
<p>&nbsp;</p>
<h2><a name="interface"></a>Cr&eacute;er l&rsquo;interface utilisateur pour l&rsquo;affichage des donn&eacute;es de l&rsquo;acc&eacute;l&eacute;rom&egrave;tre</h2>
<p>Pour repr&eacute;senter les valeurs actuellement fournies par l&rsquo;acc&eacute;l&eacute;rom&egrave;tre de fa&ccedil;on pertinente, il est tr&egrave;s utile d&rsquo;afficher &agrave; la fois les valeurs (num&eacute;riques) &agrave; l&rsquo;instant pr&eacute;cis mais aussi les derni&egrave;res valeurs (sous forme de graphique). Pour faire cela, nous allons cr&eacute;er une interface utilisateur (UI) contenant les &eacute;l&eacute;ments suivants :</p>
<ul>
<li>3 <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.textblock(VS.95).aspx">TextBlock</a> avec des noms significatifs pour les valeurs repr&eacute;sent&eacute;es pour les axes X, Y et Z.</li>
<li>Un <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.canvas(VS.95).aspx">Canvas</a> avec un nom significatif sur lequel nous ajouterons de petits rectangles pour chaque point dessin&eacute;</li>
<li>Un <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.button(VS.95).aspx">Button</a> avec un nom significatif qui sera utilis&eacute; pour d&eacute;marrer/arr&ecirc;ter l&rsquo;acc&eacute;l&eacute;rom&egrave;tre.</li>
<li>Les TextBlocks n&eacute;cessaires pour les labels des valeurs captur&eacute;es depuis l&rsquo;acc&eacute;l&eacute;rom&egrave;tre.</li>
<li>3 <a href="http://msdn.microsoft.com/en-us/library/system.windows.shapes.rectangle(VS.95).aspx">Rectangles</a> qui seront colori&eacute;s avec diff&eacute;rentes couleurs et qui serviront de l&eacute;gende pour les axes.</li>
</ul>
<p>La disposition de ces &eacute;l&eacute;ments peut ressembler &agrave; ceci :</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/42/87/metablogapi/8512.clip_image003_2.jpg" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-42-87-metablogapi/8512.clip_5F00_image003_5F00_2.jpg"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="clip_image003" border="0" alt="clip_image003" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/42/87/metablogapi/0172.clip_image003_thumb.jpg" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-42-87-metablogapi/0172.clip_5F00_image003_5F00_thumb.jpg" width="315" height="561" /></a></p>
<p></p>
<div style="margin: 0px; display: inline; float: none; padding: 0px;" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:792c1938-12e1-4ad6-a028-f0c9ee7b0556" class="wlWriterEditableSmartContent">
<div style="border: #000080 1px solid; color: #000; font-family: 'Courier New', Courier, Monospace; font-size: 10pt;">
<div style="background: #000080; color: #fff; font-family: Verdana, Tahoma, Arial, sans-serif; font-weight: bold; padding: 2px 5px;">XAML</div>
<div style="background: #ddd; max-height: 300px; overflow: auto;"><ol style="background: #ffffff; margin: 0 0 0 2.5em; padding: 0 0 0 5px;" start="1">
<li><span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">Grid</span><span style="color: #ff0000;"> x</span><span style="color: #0000ff;">:</span><span style="color: #ff0000;">Name</span><span style="color: #0000ff;">="LayoutRoot"</span><span style="color: #ff0000;"> Background</span><span style="color: #0000ff;">="Transparent"&gt;</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">Grid.RowDefinitions</span><span style="color: #0000ff;">&gt;</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">RowDefinition</span><span style="color: #ff0000;"> Height</span><span style="color: #0000ff;">="Auto"/&gt;</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">RowDefinition</span><span style="color: #ff0000;"> Height</span><span style="color: #0000ff;">="*"/&gt;</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">Grid.RowDefinitions</span><span style="color: #0000ff;">&gt;</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #008000;">&lt;!--TitlePanel contains the name of the application and page title--&gt;</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">StackPanel</span><span style="color: #ff0000;"> x</span><span style="color: #0000ff;">:</span><span style="color: #ff0000;">Name</span><span style="color: #0000ff;">="TitlePanel"</span><span style="color: #ff0000;"> Grid.Row</span><span style="color: #0000ff;">="0"</span><span style="color: #ff0000;"> Margin</span><span style="color: #0000ff;">="12,17,0,28"&gt;</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">TextBlock</span><span style="color: #ff0000;"> x</span><span style="color: #0000ff;">:</span><span style="color: #ff0000;">Name</span><span style="color: #0000ff;">="ApplicationTitle"</span><span style="color: #ff0000;"> Text</span><span style="color: #0000ff;">="JoMul's Demo"</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #ff0000;"> Style</span><span style="color: #0000ff;">="{</span><span style="color: #a31515;">StaticResource</span><span style="color: #ff0000;"> PhoneTextNormalStyle}</span><span style="color: #0000ff;">"/&gt;</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">TextBlock</span><span style="color: #ff0000;"> x</span><span style="color: #0000ff;">:</span><span style="color: #ff0000;">Name</span><span style="color: #0000ff;">="PageTitle"</span><span style="color: #ff0000;"> Text</span><span style="color: #0000ff;">="Accelerometer"</span><span style="color: #ff0000;"> Margin</span><span style="color: #0000ff;">="9,-7,0,0"</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #ff0000;"> Style</span><span style="color: #0000ff;">="{</span><span style="color: #a31515;">StaticResource</span><span style="color: #ff0000;"> PhoneTextTitle1Style}</span><span style="color: #0000ff;">"/&gt;</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">StackPanel</span><span style="color: #0000ff;">&gt;</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #008000;">&lt;!--ContentPanel - place additional content here--&gt;</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">Grid</span><span style="color: #ff0000;"> x</span><span style="color: #0000ff;">:</span><span style="color: #ff0000;">Name</span><span style="color: #0000ff;">="ContentPanel"</span><span style="color: #ff0000;"> Grid.Row</span><span style="color: #0000ff;">="1"</span><span style="color: #ff0000;"> Margin</span><span style="color: #0000ff;">="12,0,12,0"&gt;</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">TextBlock</span><span style="color: #ff0000;"> Height</span><span style="color: #0000ff;">="30"</span><span style="color: #ff0000;"> HorizontalAlignment</span><span style="color: #0000ff;">="Left"</span><span style="color: #ff0000;"> Margin</span><span style="color: #0000ff;">="46,20,0,0"</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #ff0000;"> Name</span><span style="color: #0000ff;">="textBlock1"</span><span style="color: #ff0000;"> Text</span><span style="color: #0000ff;">="X:"</span><span style="color: #ff0000;"> VerticalAlignment</span><span style="color: #0000ff;">="Top" /&gt;</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">TextBlock</span><span style="color: #ff0000;"> Height</span><span style="color: #0000ff;">="30"</span><span style="color: #ff0000;"> HorizontalAlignment</span><span style="color: #0000ff;">="Left"</span><span style="color: #ff0000;"> Margin</span><span style="color: #0000ff;">="46,56,0,0"</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #ff0000;"> Name</span><span style="color: #0000ff;">="textBlock2"</span><span style="color: #ff0000;"> Text</span><span style="color: #0000ff;">="Y:"</span><span style="color: #ff0000;"> VerticalAlignment</span><span style="color: #0000ff;">="Top" /&gt;</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">TextBlock</span><span style="color: #ff0000;"> Height</span><span style="color: #0000ff;">="30"</span><span style="color: #ff0000;"> HorizontalAlignment</span><span style="color: #0000ff;">="Left"</span><span style="color: #ff0000;"> Margin</span><span style="color: #0000ff;">="47,92,0,0"</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #ff0000;"> Name</span><span style="color: #0000ff;">="textBlock3"</span><span style="color: #ff0000;"> Text</span><span style="color: #0000ff;">="Z:"</span><span style="color: #ff0000;"> VerticalAlignment</span><span style="color: #0000ff;">="Top" /&gt;</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">Rectangle</span><span style="color: #ff0000;"> Height</span><span style="color: #0000ff;">="20"</span><span style="color: #ff0000;"> HorizontalAlignment</span><span style="color: #0000ff;">="Left"</span><span style="color: #ff0000;"> Margin</span><span style="color: #0000ff;">="18,25,0,0"</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #ff0000;"> Name</span><span style="color: #0000ff;">="rectangle1"</span><span style="color: #ff0000;"> Fill</span><span style="color: #0000ff;">="Red"</span><span style="color: #ff0000;"> StrokeThickness</span><span style="color: #0000ff;">="1"</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #ff0000;"> VerticalAlignment</span><span style="color: #0000ff;">="Top"</span><span style="color: #ff0000;"> Width</span><span style="color: #0000ff;">="16" /&gt;</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">Rectangle</span><span style="color: #ff0000;"> Fill</span><span style="color: #0000ff;">="Blue"</span><span style="color: #ff0000;"> Height</span><span style="color: #0000ff;">="20"</span><span style="color: #ff0000;"> HorizontalAlignment</span><span style="color: #0000ff;">="Left"</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #ff0000;"> Margin</span><span style="color: #0000ff;">="18,60,0,0"</span><span style="color: #ff0000;"> Name</span><span style="color: #0000ff;">="rectangle2"</span><span style="color: #ff0000;"> StrokeThickness</span><span style="color: #0000ff;">="1"</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #ff0000;"> VerticalAlignment</span><span style="color: #0000ff;">="Top"</span><span style="color: #ff0000;"> Width</span><span style="color: #0000ff;">="16" /&gt;</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">Rectangle</span><span style="color: #ff0000;"> Fill</span><span style="color: #0000ff;">="Green"</span><span style="color: #ff0000;"> Height</span><span style="color: #0000ff;">="20"</span><span style="color: #ff0000;"> HorizontalAlignment</span><span style="color: #0000ff;">="Left"</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #ff0000;"> Margin</span><span style="color: #0000ff;">="18,95,0,0"</span><span style="color: #ff0000;"> Name</span><span style="color: #0000ff;">="rectangle3"</span><span style="color: #ff0000;"> StrokeThickness</span><span style="color: #0000ff;">="1"</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #ff0000;"> VerticalAlignment</span><span style="color: #0000ff;">="Top"</span><span style="color: #ff0000;"> Width</span><span style="color: #0000ff;">="16" /&gt;</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">TextBlock</span><span style="color: #ff0000;"> Height</span><span style="color: #0000ff;">="30"</span><span style="color: #ff0000;"> HorizontalAlignment</span><span style="color: #0000ff;">="Left"</span><span style="color: #ff0000;"> Margin</span><span style="color: #0000ff;">="82,20,0,0"</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #ff0000;"> Name</span><span style="color: #0000ff;">="xreadout"</span><span style="color: #ff0000;"> Text</span><span style="color: #0000ff;">="1.0"</span><span style="color: #ff0000;"> VerticalAlignment</span><span style="color: #0000ff;">="Top" /&gt;</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">TextBlock</span><span style="color: #ff0000;"> Height</span><span style="color: #0000ff;">="30"</span><span style="color: #ff0000;"> HorizontalAlignment</span><span style="color: #0000ff;">="Left"</span><span style="color: #ff0000;"> Margin</span><span style="color: #0000ff;">="82,56,0,0"</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #ff0000;"> Name</span><span style="color: #0000ff;">="yreadout"</span><span style="color: #ff0000;"> Text</span><span style="color: #0000ff;">="1.0"</span><span style="color: #ff0000;"> VerticalAlignment</span><span style="color: #0000ff;">="Top" /&gt;</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">TextBlock</span><span style="color: #ff0000;"> Height</span><span style="color: #0000ff;">="30"</span><span style="color: #ff0000;"> HorizontalAlignment</span><span style="color: #0000ff;">="Left"</span><span style="color: #ff0000;"> Margin</span><span style="color: #0000ff;">="82,92,0,0"</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #ff0000;"> Name</span><span style="color: #0000ff;">="zreadout"</span><span style="color: #ff0000;"> Text</span><span style="color: #0000ff;">="1.0"</span><span style="color: #ff0000;"> VerticalAlignment</span><span style="color: #0000ff;">="Top" /&gt;</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">Button</span><span style="color: #ff0000;"> Content</span><span style="color: #0000ff;">="PAUSE"</span><span style="color: #ff0000;"> Height</span><span style="color: #0000ff;">="97"</span><span style="color: #ff0000;"> HorizontalAlignment</span><span style="color: #0000ff;">="Left"</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #ff0000;"> Margin</span><span style="color: #0000ff;">="143,25,0,0"</span><span style="color: #ff0000;"> Name</span><span style="color: #0000ff;">="PlayOrPause"</span><span style="color: #ff0000;"> VerticalAlignment</span><span style="color: #0000ff;">="Top"</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #ff0000;"> Width</span><span style="color: #0000ff;">="285"</span><span style="color: #ff0000;"> Click</span><span style="color: #0000ff;">="PlayOrPause_Click" /&gt;</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">Canvas</span><span style="color: #ff0000;"> Height</span><span style="color: #0000ff;">="400"</span><span style="color: #ff0000;"> HorizontalAlignment</span><span style="color: #0000ff;">="Left"</span><span style="color: #ff0000;"> Margin</span><span style="color: #0000ff;">="18,140,0,0"</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #ff0000;"> Name</span><span style="color: #0000ff;">="Log"</span><span style="color: #ff0000;"> VerticalAlignment</span><span style="color: #0000ff;">="Top"</span><span style="color: #ff0000;"> Width</span><span style="color: #0000ff;">="400"</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #ff0000;"> Background</span><span style="color: #0000ff;">="White" /&gt;</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">TextBlock</span><span style="color: #ff0000;"> Height</span><span style="color: #0000ff;">="30"</span><span style="color: #ff0000;"> HorizontalAlignment</span><span style="color: #0000ff;">="Left"</span><span style="color: #ff0000;"> Margin</span><span style="color: #0000ff;">="419,326,0,0"</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #ff0000;"> Name</span><span style="color: #0000ff;">="textBlock4"</span><span style="color: #ff0000;"> Text</span><span style="color: #0000ff;">="0"</span><span style="color: #ff0000;"> VerticalAlignment</span><span style="color: #0000ff;">="Top"</span><span style="color: #ff0000;"> Width</span><span style="color: #0000ff;">="30" /&gt;</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">TextBlock</span><span style="color: #ff0000;"> Height</span><span style="color: #0000ff;">="30"</span><span style="color: #ff0000;"> HorizontalAlignment</span><span style="color: #0000ff;">="Left"</span><span style="color: #ff0000;"> Margin</span><span style="color: #0000ff;">="419,128,0,0"</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #ff0000;"> Name</span><span style="color: #0000ff;">="textBlock5"</span><span style="color: #ff0000;"> Text</span><span style="color: #0000ff;">="1.0"</span><span style="color: #ff0000;"> VerticalAlignment</span><span style="color: #0000ff;">="Top" /&gt;</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">TextBlock</span><span style="color: #ff0000;"> Height</span><span style="color: #0000ff;">="30"</span><span style="color: #ff0000;"> HorizontalAlignment</span><span style="color: #0000ff;">="Left"</span><span style="color: #ff0000;"> Margin</span><span style="color: #0000ff;">="419,526,0,0"</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #ff0000;"> Name</span><span style="color: #0000ff;">="textBlock6"</span><span style="color: #ff0000;"> Text</span><span style="color: #0000ff;">="-1.0"</span><span style="color: #ff0000;"> VerticalAlignment</span><span style="color: #0000ff;">="Top" /&gt;</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">Grid</span><span style="color: #0000ff;">&gt;</span></li>
<li><span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">Grid</span><span style="color: #0000ff;">&gt;</span></li>
</ol></div>
</div>
</div>
<p>&nbsp;</p>
<h2><a name="gettinginput"></a>Lire les donn&eacute;es de l&rsquo;acc&eacute;l&eacute;rom&egrave;tre en temps r&eacute;el</h2>
<p>Silverlight pour Windows Phone utilise l&rsquo;assembly <b>Microsoft.Devices.Sensors</b> pour g&eacute;rer les donn&eacute;es de l&rsquo;acc&eacute;l&eacute;rom&egrave;tre. Cette assembly doit &ecirc;tre r&eacute;f&eacute;renc&eacute;e par votre projet avant de pouvoir utiliser dans votre application les types, &eacute;v&egrave;nements ou m&eacute;thodes qui la composent.</p>
<p><b>Pour ajouter Microsoft.Devices.Sensors &agrave; votre application :</b></p>
<p>1. Dans le <b>Solution Explorer</b>, faites un clic droit sur le n&oelig;ud <b>References</b> de votre projet, et s&eacute;lectionner ensuite <b>Add Reference</b>.</p>
<p>2. S&eacute;lectionnez Microsoft.Devices.Sensors dans la liste, et cliquez sur <b>OK</b>.</p>
<p>3. Ajoutez le code suivant au d&eacute;but de chaque fichier source qui devra utiliser les classes et m&eacute;thodes li&eacute;es &agrave; l&rsquo;acc&eacute;l&eacute;rom&egrave;tre.</p>
<div style="margin: 0px; display: inline; float: none; padding: 0px;" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:d112da29-18e0-4cfe-aa62-c7efe6e4f3f2" class="wlWriterEditableSmartContent">
<div style="border: #000080 1px solid; color: #000; font-family: 'Courier New', Courier, Monospace; font-size: 10pt;">
<div style="background: #000080; color: #fff; font-family: Verdana, Tahoma, Arial, sans-serif; font-weight: bold; padding: 2px 5px;">C#</div>
<div style="background: #ddd; max-height: 300px; overflow: auto;"><ol style="background: #ffffff; margin: 0 0 0 2em; padding: 0 0 0 5px;" start="1">
<li><span style="color: #0000ff;">using</span> Microsoft.Devices.Sensors;</li>
</ol></div>
</div>
</div>
<p>&nbsp;</p>
<p></p>
<div style="margin: 0px; display: inline; float: none; padding: 0px;" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:570fafa0-4594-4ca2-9561-94dbb6382b57" class="wlWriterEditableSmartContent">
<div style="border: #000080 1px solid; color: #000; font-family: 'Courier New', Courier, Monospace; font-size: 10pt;">
<div style="background: #000080; color: #fff; font-family: Verdana, Tahoma, Arial, sans-serif; font-weight: bold; padding: 2px 5px;">Visual Studio</div>
<div style="background: #ddd; max-height: 300px; overflow: auto;"><ol style="background: #ffffff; margin: 0 0 0 2em; padding: 0 0 0 5px;" start="1">
<li><span style="color: #0000ff;">Imports</span> Microsoft.Devices.Sensors</li>
</ol></div>
</div>
</div>
<p>L&rsquo;&eacute;tape suivant est d&rsquo;ajouter un membre de type <b>Accelerometer</b> &agrave; la classe dont les m&eacute;thodes devront utiliser les donn&eacute;es de l&rsquo;acc&eacute;l&eacute;rom&egrave;tre.</p>
<div style="margin: 0px; display: inline; float: none; padding: 0px;" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:5a555079-d9af-4dc1-8783-f3ee739b6e07" class="wlWriterEditableSmartContent">
<div style="border: #000080 1px solid; color: #000; font-family: 'Courier New', Courier, Monospace; font-size: 10pt;">
<div style="background: #000080; color: #fff; font-family: Verdana, Tahoma, Arial, sans-serif; font-weight: bold; padding: 2px 5px;">C#</div>
<div style="background: #ddd; max-height: 300px; overflow: auto;"><ol style="background: #ffffff; margin: 0 0 0 2em; padding: 0 0 0 5px;" start="1">
<li><span style="color: #0000ff;">public</span> <span style="color: #0000ff;">partial</span> <span style="color: #0000ff;">class</span> <span style="color: #2b91af;">MainPage</span> : PhoneApplicationPage</li>
<li style="background: #f3f3f3;">{</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000;">// Constructor</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;Accelerometer accelerometer = <span style="color: #0000ff;">new</span> Accelerometer();</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;...</li>
</ol></div>
</div>
</div>
<p></p>
<div style="margin: 0px; display: inline; float: none; padding: 0px;" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:cad9c01e-ebfa-4b9f-9cce-144fb9ef6fef" class="wlWriterEditableSmartContent">
<div style="border: #000080 1px solid; color: #000; font-family: 'Courier New', Courier, Monospace; font-size: 10pt;">
<div style="background: #000080; color: #fff; font-family: Verdana, Tahoma, Arial, sans-serif; font-weight: bold; padding: 2px 5px;">Visual Basic</div>
<div style="background: #ddd; max-height: 300px; overflow: auto;"><ol style="background: #ffffff; margin: 0 0 0 2em; padding: 0 0 0 5px;" start="1">
<li><span style="color: #0000ff;">Partial</span> <span style="color: #0000ff;">Public</span> <span style="color: #0000ff;">Class</span> <span style="color: #2b91af;">MainPage</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">Inherits</span> PhoneApplicationPage</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000;">' Constructor</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">Private</span> accelerometer <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">New</span> Accelerometer()</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;..</li>
</ol></div>
</div>
</div>
<p>Ce membre devra &ecirc;tre visible dans toute la classe, car deux m&eacute;thodes doivent &ecirc;tre utilis&eacute;es pour lire les donn&eacute;es de l&rsquo;acc&eacute;l&eacute;rom&egrave;tre :</p>
<p>1. Un <a href="http://msdn.microsoft.com/en-us/library/cc189018(VS.95).aspx">event handler</a> qui est appel&eacute; lorsque l&rsquo;acc&eacute;l&eacute;rom&egrave;tre l&egrave;ve l&rsquo;&eacute;v&egrave;nement <b>ReadingChanged</b>.</p>
<p>2. Une m&eacute;thode s&rsquo;occupant d&rsquo;associer l&rsquo;event handler &agrave; l&rsquo;&eacute;v&egrave;nement <b>ReadingChanged</b>.</p>
<p>Commen&ccedil;ons par la premi&egrave;re. Tous les event handlers prennent au moins deux param&egrave;tres en argument : un "object" qui r&eacute;f&eacute;rence l&rsquo;objet qui a lev&eacute; l&rsquo;&eacute;v&egrave;nement (dans notre cas l&rsquo;instance de la classe <b>Accelerometer</b> d&eacute;finie en membre de classe), et un "event args" dont les propri&eacute;t&eacute;s contiennent les donn&eacute;es relatives &agrave; l&rsquo;&eacute;v&egrave;nement. Notre event handler pour l&rsquo;&eacute;v&egrave;nement <b>ReadingChanged</b> de l&rsquo;<b>Accelerometer</b> ressemblera &agrave; ceci :</p>
<div style="margin: 0px; display: inline; float: none; padding: 0px;" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:e36badee-a13f-40b7-9be6-25c64cdf30a1" class="wlWriterEditableSmartContent">
<div style="border: #000080 1px solid; color: #000; font-family: 'Courier New', Courier, Monospace; font-size: 10pt;">
<div style="background: #000080; color: #fff; font-family: Verdana, Tahoma, Arial, sans-serif; font-weight: bold; padding: 2px 5px;">C#</div>
<div style="background: #ddd; max-height: 300px; overflow: auto;"><ol style="background: #ffffff; margin: 0 0 0 2em; padding: 0 0 0 5px;" start="1">
<li><span style="color: #0000ff;">void</span> myHandler(<span style="color: #0000ff;">object</span> sender, AccelerometerReadingEventArgs e)</li>
<li style="background: #f3f3f3;">{</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000;">// TODO: Code here</span></li>
<li style="background: #f3f3f3;">}</li>
</ol></div>
</div>
</div>
<p></p>
<div style="margin: 0px; display: inline; float: none; padding: 0px;" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:814e4f95-447d-4732-aea5-b688cf02f843" class="wlWriterEditableSmartContent">
<div style="border: #000080 1px solid; color: #000; font-family: 'Courier New', Courier, Monospace; font-size: 10pt;">
<div style="background: #000080; color: #fff; font-family: Verdana, Tahoma, Arial, sans-serif; font-weight: bold; padding: 2px 5px;">Visual Basic</div>
<div style="background: #ddd; max-height: 300px; overflow: auto;"><ol style="background: #ffffff; margin: 0 0 0 2em; padding: 0 0 0 5px;" start="1">
<li><span style="color: #0000ff;">Private</span> <span style="color: #0000ff;">Sub</span> myHandler(sender <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Object</span>, e <span style="color: #0000ff;">As</span> AccelerometerReadingEventArgs)</li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000;">' TODO: Code here</span></li>
<li><span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Sub</span></li>
</ol></div>
</div>
</div>
<p>Nous avons besoin d&rsquo;initialiser le membre de type <b>Accelerometer</b> et de lier l&rsquo;&eacute;v&egrave;nement <b>ReadingChanged</b> &agrave; <b>myHandler</b> (par souci de simplicit&eacute; et uniquement pour ce tutoriel nous allons faire ceci dans la fonction principale).</p>
<div style="margin: 0px; display: inline; float: none; padding: 0px;" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:7e90cb77-20f8-455c-9054-5c3090dcb4b8" class="wlWriterEditableSmartContent">
<div style="border: #000080 1px solid; color: #000; font-family: 'Courier New', Courier, Monospace; font-size: 10pt;">
<div style="background: #000080; color: #fff; font-family: Verdana, Tahoma, Arial, sans-serif; font-weight: bold; padding: 2px 5px;">C#</div>
<div style="background: #ddd; max-height: 300px; overflow: auto;"><ol style="background: #ffffff; margin: 0 0 0 2em; padding: 0 0 0 5px;" start="1">
<li><span style="color: #0000ff;">public</span> MainPage()</li>
<li style="background: #f3f3f3;">{</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;InitializeComponent();</li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;accelerometer.Start();</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;accelerometer.ReadingChanged += <span style="color: #0000ff;">new</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;EventHandler&lt;AccelerometerReadingEventArgs&gt;(myHandler);</li>
<li>}</li>
</ol></div>
</div>
</div>
<p></p>
<div style="margin: 0px; display: inline; float: none; padding: 0px;" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:7bb98bd4-bdb6-4987-8467-bf787fdb561d" class="wlWriterEditableSmartContent">
<div style="border: #000080 1px solid; color: #000; font-family: 'Courier New', Courier, Monospace; font-size: 10pt;">
<div style="background: #000080; color: #fff; font-family: Verdana, Tahoma, Arial, sans-serif; font-weight: bold; padding: 2px 5px;">Visual Basic</div>
<div style="background: #ddd; max-height: 300px; overflow: auto;"><ol style="background: #ffffff; margin: 0 0 0 2em; padding: 0 0 0 5px;" start="1">
<li><span style="color: #0000ff;">Public</span> <span style="color: #0000ff;">Sub</span> <span style="color: #0000ff;">New</span>()</li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;InitializeComponent()</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;accelerometer.Start()</li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;accelerometer.ReadingChanged += <span style="color: #0000ff;">New</span> EventHandler(<span style="color: #0000ff;">Of</span> AccelerometerReadingEventArgs)(myHandler)</li>
<li><span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Sub</span></li>
</ol></div>
</div>
</div>
<p>Nous nous trouverons alors dans une impasse. Nous avons besoin de mettre &agrave; jour l&rsquo;UI avec les donn&eacute;es provenant de l&rsquo;acc&eacute;l&eacute;rom&egrave;tre ; mais comme l&rsquo;&eacute;v&egrave;nement <b>ReadingChanged</b> est lev&eacute; depuis le thread de l&rsquo;acc&eacute;l&eacute;rom&egrave;tre, la m&eacute;thode <b>myHandler</b> sera aussi ex&eacute;cut&eacute;e dans ce thread. Or nous souhaitons que la m&eacute;thode <b>myHandler</b> puisse mettre &agrave; jour l&rsquo;UI avec les valeurs de l&rsquo;acc&eacute;l&eacute;rom&egrave;tre, et l&rsquo;UI est g&eacute;r&eacute;e dans son propre thread, la rendant inaccessible. Heureusement, la solution &agrave; cette probl&eacute;matique est une simple ligne de code utilisant l&rsquo;objet <b>Dispatcher</b> pour appeler une fonction sur le thread UI qui fera la mise &agrave; jour pour nous en lui passant l&rsquo;objet <b>AccelerometerReadingEventArgs</b> qui contient les donn&eacute;es que l&rsquo;on veut afficher. Nous appellerons cette fonction <b>updateMyScreen</b>. <b>myHandler</b> ressemble maintenant &agrave; ceci :</p>
<div style="margin: 0px; display: inline; float: none; padding: 0px;" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:4a9d8343-c3a6-46cb-9245-4d2ac50dfd20" class="wlWriterEditableSmartContent">
<div style="border: #000080 1px solid; color: #000; font-family: 'Courier New', Courier, Monospace; font-size: 10pt;">
<div style="background: #000080; color: #fff; font-family: Verdana, Tahoma, Arial, sans-serif; font-weight: bold; padding: 2px 5px;">C#</div>
<div style="background: #ddd; max-height: 300px; overflow: auto;"><ol style="background: #ffffff; margin: 0 0 0 2em; padding: 0 0 0 5px;" start="1">
<li><span style="color: #0000ff;">void</span> myHandler(<span style="color: #0000ff;">object</span> sender, AccelerometerReadingEventArgs e)</li>
<li style="background: #f3f3f3;">{</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;Deployment.Current.Dispatcher.BeginInvoke(() =&gt; updateMyScreen(e));</li>
<li style="background: #f3f3f3;">}</li>
</ol></div>
</div>
</div>
<p>&nbsp;</p>
<p></p>
<div style="margin: 0px; display: inline; float: none; padding: 0px;" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:f9d27a09-a255-4868-bfc1-22dff65de2f6" class="wlWriterEditableSmartContent">
<div style="border: #000080 1px solid; color: #000; font-family: 'Courier New', Courier, Monospace; font-size: 10pt;">
<div style="background: #000080; color: #fff; font-family: Verdana, Tahoma, Arial, sans-serif; font-weight: bold; padding: 2px 5px;">Visual Studio</div>
<div style="background: #ddd; max-height: 300px; overflow: auto;"><ol style="background: #ffffff; margin: 0 0 0 2em; padding: 0 0 0 5px;" start="1">
<li><span style="color: #0000ff;">Private</span> <span style="color: #0000ff;">Sub</span> myHandler(sender <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Object</span>, e <span style="color: #0000ff;">As</span> AccelerometerReadingEventArgs)</li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;Deployment.Current.Dispatcher.BeginInvoke(<span style="color: #0000ff;">Function</span>() updateMyScreen(e))</li>
<li><span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Sub</span></li>
</ol></div>
</div>
</div>
<p>Vous &ecirc;tes maintenant pr&ecirc;t &agrave; brancher les donn&eacute;es de l&rsquo;acc&eacute;l&eacute;rom&egrave;tre &agrave; l&rsquo;UI. Ceci est rendu simple par les propri&eacute;t&eacute;s de l&rsquo;objet <b>AccelerometerReadingEventArgs</b> qui contiennent les valeurs pour les axes X, Y et Z. Nous allons terminer cette section en mettant en place un affichage tr&egrave;s simple des donn&eacute;es de l&rsquo;acc&eacute;l&eacute;rom&egrave;tre : une simple zone de texte contenant la valeur. <b>updateMyScreen</b>, qui s&rsquo;ex&eacute;cute sur le thread UI est appel&eacute; &agrave; chaque fois que l&rsquo;&eacute;v&egrave;nement <b>ReadingChanged</b> est lev&eacute;, a juste besoin de mettre &agrave; jour la propri&eacute;t&eacute; <b>Text</b> du <b>TextBlock</b> correspondant &agrave; chaque axe.</p>
<div style="margin: 0px; display: inline; float: none; padding: 0px;" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:ecf42ecb-56cf-4e08-b2c9-a83369119259" class="wlWriterEditableSmartContent">
<div style="border: #000080 1px solid; color: #000; font-family: 'Courier New', Courier, Monospace; font-size: 10pt;">
<div style="background: #000080; color: #fff; font-family: Verdana, Tahoma, Arial, sans-serif; font-weight: bold; padding: 2px 5px;">C#</div>
<div style="background: #ddd; max-height: 300px; overflow: auto;"><ol style="background: #ffffff; margin: 0 0 0 2em; padding: 0 0 0 5px;" start="1">
<li><span style="color: #0000ff;">void</span> updateMyScreen(AccelerometerReadingEventArgs e)</li>
<li style="background: #f3f3f3;">{</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000;">// updates the textblocks</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;xreadout.Text = e.X.ToString(<span style="color: #a31515;">"0.00"</span>);</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;yreadout.Text = e.Y.ToString(<span style="color: #a31515;">"0.00"</span>);</li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;zreadout.Text = e.Z.ToString(<span style="color: #a31515;">"0.00"</span>);</li>
<li>}</li>
</ol></div>
</div>
</div>
<p></p>
<div style="margin: 0px; display: inline; float: none; padding: 0px;" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:4b353a4a-6c2c-493d-ae0a-2be86df7030f" class="wlWriterEditableSmartContent">
<div style="border: #000080 1px solid; color: #000; font-family: 'Courier New', Courier, Monospace; font-size: 10pt;">
<div style="background: #000080; color: #fff; font-family: Verdana, Tahoma, Arial, sans-serif; font-weight: bold; padding: 2px 5px;">Visual Basic</div>
<div style="background: #ddd; max-height: 300px; overflow: auto;"><ol style="background: #ffffff; margin: 0 0 0 2em; padding: 0 0 0 5px;" start="1">
<li><span style="color: #0000ff;">Private</span> <span style="color: #0000ff;">Sub</span> updateMyScreen(e <span style="color: #0000ff;">As</span> AccelerometerReadingEventArgs)</li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000;">' updates the textblocks</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;xreadout.Text = e.X.ToString(<span style="color: #a31515;">"0.00"</span>)</li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;yreadout.Text = e.Y.ToString(<span style="color: #a31515;">"0.00"</span>)</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;zreadout.Text = e.Z.ToString(<span style="color: #a31515;">"0.00"</span>)</li>
<li style="background: #f3f3f3;"><span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Sub</span></li>
</ol></div>
</div>
</div>
<p>L&rsquo;objet <b>AccelerometerReadingEventArgs</b> repr&eacute;sente le force d&rsquo;acc&eacute;l&eacute;ration exerc&eacute;e selon les axes X, Y et Z sous forme de <a href="http://msdn.microsoft.com/en-us/library/678hzkk9(VS.71).aspx">double</a> (valeur num&eacute;rique &agrave; virgule flottante). Ces valeurs sont converties en string avec une pr&eacute;cision &agrave; deux chiffres avec la virgule en utilisant la m&eacute;thode <b>ToString </b>&agrave; laquelle on passe l&rsquo;argument de format "0.00".</p>
<p>Vous pouvez maintenant compiler l&rsquo;application et visualiser les donn&eacute;es de l&rsquo;acc&eacute;l&eacute;rom&egrave;tre &agrave; l&rsquo;&eacute;cran. Nous avons vu les &eacute;l&eacute;ments de base de la lecture des donn&eacute;es de l&rsquo;acc&eacute;l&eacute;rom&egrave;tre, nous allons en plus de cela ajouter une repr&eacute;sentation graphique utilisant des &eacute;l&eacute;ments <b>Rectangle</b> et le <b>Canvas</b> qui a &eacute;t&eacute; ajout&eacute; &agrave; l&rsquo;UI pr&eacute;c&eacute;demment ce qui vous aidera a r&eacute;ellement voir ce que l&rsquo;acc&eacute;l&eacute;rom&egrave;tre est en train de faire lorsque vous essaierez d&rsquo;utiliser ses donn&eacute;es dans vos applications. Il est fortement conseill&eacute; de continuer ce tutoriel ; toutefois si vous ne souhaitez qu&rsquo;acc&eacute;der aux donn&eacute;es brutes, vous pouvez vous arr&ecirc;ter l&agrave;.</p>
<p>&nbsp;</p>
<h2><a name="graph"></a>Dessiner les donn&eacute;es de l&rsquo;acc&eacute;l&eacute;rom&egrave;tre</h2>
<p>Le composant graphique <b>Rectangle</b> est d&eacute;j&agrave; pr&ecirc;t &agrave; &ecirc;tre utilis&eacute; en tant que pixel, ce qui va nous rendre la t&acirc;che plus simple que ce que vous pourriez penser. Un graphe ne sera qu&rsquo;une suite de <b>Rectangle</b>s consciencieusement disposes auxquels on donnera une couleur en utilisant la propri&eacute;t&eacute; Fill. Nous &laquo; peindrons &raquo; ces rectangles sur le <b>Canvas</b> blanc que nous avons mis en place dans la premi&egrave;re section. Les propri&eacute;t&eacute;s Top et Left du <b>Rectangle</b> d&eacute;termineront leur position sur le canvas, et nous pouvons m&ecirc;me faire de ces valeurs des valeurs relatives au <b>Canvas</b> en r&eacute;f&eacute;ren&ccedil;ant le <b>Canvas</b> dans la m&eacute;thode <b>SetValue</b> du <b>Rectangle</b>.</p>
<p>Sur le graphique, nous allons dessiner trois lignes de couleurs diff&eacute;rentes, chacune repr&eacute;sentant un axe de l&rsquo;acc&eacute;l&eacute;rom&egrave;tre. Ces lignes seront compos&eacute;es de <b>Rectangle</b> adjacents. Pour chacun de ces rectangles, nous allons utiliser deux valeurs pour d&eacute;terminer leur position : le temps pass&eacute;, que nous d&eacute;terminerons en utilisant un simple accumulateur incr&eacute;ment&eacute; de 1, et bien sur la donn&eacute;e retourn&eacute;e par l&rsquo;acc&eacute;l&eacute;rom&egrave;tre r&eacute;cup&eacute;r&eacute; par l&rsquo;objet <b>AccelerometerReadingEventArgs</b>.</p>
<p>L&rsquo;&eacute;v&egrave;nement <b>ReadingChanged</b> va piloter la progression du graphe exactement comme il pilotait la repr&eacute;sentation textuelle dans la section pr&eacute;c&eacute;dente. L&rsquo;&eacute;v&egrave;nement <b>ReadingChanged</b>o est uniquement lev&eacute; lorsque l&rsquo;&eacute;tat de l&rsquo;acc&eacute;l&eacute;rom&egrave;tre est &laquo; started &raquo;, apr&egrave;s l&rsquo;appel &agrave; la m&eacute;thode <b>Start</b> de l&rsquo;objet<b> Accelerometer</b>. Ceci se produira en synchronisation avec le cycle natif de rafraichissement de l&rsquo;application (30 frames par secondes par d&eacute;faut), et est tr&egrave;s fiable tel que va le d&eacute;monter le graphique.</p>
<p>Comme vous vous en doutez, la cr&eacute;ation des rectangles doit se faire sur le thread UI, vous devez donc &eacute;tendre la m&eacute;thode <b>updateMyScreen</b>. Avant de faire cela, commen&ccedil;ons par le plus simple : mettre en place l&rsquo;accumulateur. Evidemment, cet accumulateur doit &ecirc;tre en dehors du scope de la m&eacute;thode <b>updateMyScreen</b>, nous en ferons donc un membre de classe, tel l&rsquo;objet <b>Accelerometer</b> :</p>
<div style="margin: 0px; display: inline; float: none; padding: 0px;" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:65ccb613-940a-4957-86fe-a74f73639b87" class="wlWriterEditableSmartContent">
<div style="border: #000080 1px solid; color: #000; font-family: 'Courier New', Courier, Monospace; font-size: 10pt;">
<div style="background: #000080; color: #fff; font-family: Verdana, Tahoma, Arial, sans-serif; font-weight: bold; padding: 2px 5px;">C#</div>
<div style="background: #ddd; max-height: 300px; overflow: auto;"><ol style="background: #ffffff; margin: 0 0 0 2em; padding: 0 0 0 5px;" start="1">
<li><span style="color: #0000ff;">public</span> <span style="color: #0000ff;">partial</span> <span style="color: #0000ff;">class</span> <span style="color: #2b91af;">MainPage</span> : PhoneApplicationPage</li>
<li style="background: #f3f3f3;">{</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000;">// Constructor</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;Accelerometer accelerometer = <span style="color: #0000ff;">new</span> Accelerometer();</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">double</span> iterator = 0;</li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;...</li>
<li>}</li>
</ol></div>
</div>
</div>
<p></p>
<div style="margin: 0px; display: inline; float: none; padding: 0px;" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:a60e9704-6d01-492f-b879-8bcf772ad450" class="wlWriterEditableSmartContent">
<div style="border: #000080 1px solid; color: #000; font-family: 'Courier New', Courier, Monospace; font-size: 10pt;">
<div style="background: #000080; color: #fff; font-family: Verdana, Tahoma, Arial, sans-serif; font-weight: bold; padding: 2px 5px;">Visual Basic</div>
<div style="background: #ddd; max-height: 300px; overflow: auto;"><ol style="background: #ffffff; margin: 0 0 0 2em; padding: 0 0 0 5px;" start="1">
<li><span style="color: #0000ff;">Partial</span> <span style="color: #0000ff;">Public</span> <span style="color: #0000ff;">Class</span> <span style="color: #2b91af;">MainPage</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">Inherits</span> PhoneApplicationPage</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000;">' Constructor</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">Private</span> accelerometer <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">New</span> Accelerometer()</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">Private</span> iterator <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span> = 0</li>
<li style="background: #f3f3f3;">...</li>
</ol></div>
</div>
</div>
<p>Notre accumulateur sera de type double pour &eacute;viter de g&acirc;cher des cycles CPU &agrave; convertir plus tard sa valeur en position sur le <b>Canvas</b>. Il s&rsquo;augmentera toutefois par palier de 1, ce qui est ce que l&rsquo;on attend de lui. Lorsque sa valeur augmentera de 1, la position horizontale que nous assignerons aux &eacute;l&eacute;ments <b>Rectangle </b>sera d&eacute;cal&eacute;e vers la droite de 1 pixel, permettant ainsi de disposer ces rectangles de gauche &agrave; droite &agrave; l&rsquo;&eacute;cran qui, &agrave; terme, dessinera une ligne.</p>
<p>Note</p>
<p>Il est important de noter que nous utiliserons un Canvas de 400x400 pixels.</p>
<p>Mettons maintenant &agrave; jour la m&eacute;thode <b>updateMyScreen</b> pour mettre en place le dessin. Ceci ce fait en plusieurs phases :</p>
<p>1. Convertir les valeurs retourn&eacute;es par l&rsquo;acc&eacute;l&eacute;rom&egrave;tre (qui vont de la valeur la plus faible de -1.0 &agrave; un maximum de 1.0 et une valeur moyenne de 0) dans une position verticale qui sera utilis&eacute;e pour placer le <b>Rectangle</b> sur le <b>Canvas</b> (qui vont de la valeur la plus faible de 400 &agrave; un &lsquo;maximum&rsquo; de 0 et un milieu de 200). Comme pour l&rsquo;accumulateur, la valeur retourn&eacute;e sera stock&eacute;e en tant que double pour pouvoir &ecirc;tre utilis&eacute; directement par l&rsquo;objet <b>Canvas</b>.</p>
<p>2. Les &eacute;l&eacute;ments <b>Rectangle</b> qui seront utilis&eacute;s en tant que pixel pour dessiner les lignes doivent &ecirc;tre cr&eacute;&eacute;s, avoir une taille de 1 pixel et &ecirc;tre color&eacute;s, avant d&rsquo;&ecirc;tre dessin&eacute;s. Nous avons donc trois nouveaux <b>Rectangle</b>s par mise &agrave; jour de <b>ReadingChanged</b>, chacun repr&eacute;sentant un des trois axes de l&rsquo;acc&eacute;l&eacute;rom&egrave;tre.</p>
<p>3. Les valeurs converties retourn&eacute;es par l&rsquo;acc&eacute;l&eacute;rom&egrave;tre de l&rsquo;&eacute;tape 1 sont utilis&eacute;es pour la position verticale des <b>Rectangle </b>sur le <b>Canvas</b>, et la valeur de l&rsquo;accumulateur est utilis&eacute;e pour la position horizontale du <b>Rectangle</b> sur le <b>Canvas</b>. Ils sont pass&eacute;s au <b>Rectangle</b> par la m&eacute;thode <b>SetValue</b>.</p>
<p>4. Les trois nouveaux Rectangles sont dessin&eacute;s sur le Canvas en faisant des <b>Rectangle</b>s des "enfants" (children) du <b>Canvas</b>. Ceci est accompli par l&rsquo;utilisation de la m&eacute;thode <b>Add</b> de la propri&eacute;t&eacute; Children du <b>Canvas</b>.</p>
<p>5. Si vous &ecirc;tes en dehors de l&rsquo;espace horizontal disponible sur le <b>Canvas</b> (c&rsquo;est &agrave; dire lorsque l&rsquo;accumulateur a atteint la valeur 399), vous pouvez vider le <b>Canvas</b> et recommencer depuis le c&ocirc;t&eacute; gauche (en vidant la propri&eacute;t&eacute; Children du <b>Canvas</b> et en r&eacute;initialisant l&rsquo;accumulateur &agrave; z&eacute;ro), ou sinon vous incr&eacute;mentez l&rsquo;accumulateur de 1.</p>
<p>La fonction <b>updateMyScreen</b> ressemble alors &agrave; ceci :</p>
<div style="margin: 0px; display: inline; float: none; padding: 0px;" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:6f9ffd82-1334-4e25-b5de-c8c1a74a483e" class="wlWriterEditableSmartContent">
<div style="border: #000080 1px solid; color: #000; font-family: 'Courier New', Courier, Monospace; font-size: 10pt;">
<div style="background: #000080; color: #fff; font-family: Verdana, Tahoma, Arial, sans-serif; font-weight: bold; padding: 2px 5px;">C#</div>
<div style="background: #ddd; max-height: 300px; overflow: auto;"><ol style="background: #ffffff; margin: 0 0 0 2.5em; padding: 0 0 0 5px;" start="1">
<li><span style="color: #0000ff;">void</span> updateMyScreen(AccelerometerReadingEventArgs e)</li>
<li style="background: #f3f3f3;">{</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000;">// updates the textblocks</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;xreadout.Text = e.X.ToString(<span style="color: #a31515;">"0.00"</span>);</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;yreadout.Text = e.Y.ToString(<span style="color: #a31515;">"0.00"</span>);</li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;zreadout.Text = e.Z.ToString(<span style="color: #a31515;">"0.00"</span>);</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000;">//draws on the canvas:</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">double</span> currentXOnGraph = <span style="color: #2b91af;">Math</span>.Abs((e.X * 200) - 200);</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">double</span> currentYOnGraph = <span style="color: #2b91af;">Math</span>.Abs((e.Y * 200) - 200);</li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">double</span> currentZOnGraph = <span style="color: #2b91af;">Math</span>.Abs((e.Z * 200) - 200);</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #2b91af;">Rectangle</span> xPoint = <span style="color: #0000ff;">new</span> <span style="color: #2b91af;">Rectangle</span>();</li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #2b91af;">Rectangle</span> yPoint = <span style="color: #0000ff;">new</span> <span style="color: #2b91af;">Rectangle</span>();</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #2b91af;">Rectangle</span> zPoint = <span style="color: #0000ff;">new</span> <span style="color: #2b91af;">Rectangle</span>();</li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;xPoint.Fill = <span style="color: #0000ff;">new</span> <span style="color: #2b91af;">SolidColorBrush</span>(<span style="color: #2b91af;">Colors</span>.Red);</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;yPoint.Fill = <span style="color: #0000ff;">new</span> <span style="color: #2b91af;">SolidColorBrush</span>(<span style="color: #2b91af;">Colors</span>.Blue);</li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;zPoint.Fill = <span style="color: #0000ff;">new</span> <span style="color: #2b91af;">SolidColorBrush</span>(<span style="color: #2b91af;">Colors</span>.Green);</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000;">// set the pixel size</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;xPoint.Width = 1;</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;xPoint.Height = 2;</li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;yPoint.Width = 1;</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;yPoint.Height = 2;</li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;zPoint.Width = 1;</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;zPoint.Height = 2;</li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000;">// These pixels will be "pasted into" the canvas by setting their position</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000;">// according to the currentX/Y/Z-on-graph values. To set their position</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000;">// relative to the canvas, pass the canvas properties on to the pixels via</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000;">// the SetValue method. Use a generic iterator to determine the distance</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000;">// the pixel should be from the left side of the canvas.</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;xPoint.SetValue(<span style="color: #2b91af;">Canvas</span>.LeftProperty, iterator);</li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;xPoint.SetValue(<span style="color: #2b91af;">Canvas</span>.TopProperty, currentXOnGraph);</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;yPoint.SetValue(<span style="color: #2b91af;">Canvas</span>.LeftProperty, iterator);</li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;yPoint.SetValue(<span style="color: #2b91af;">Canvas</span>.TopProperty, currentYOnGraph);</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;zPoint.SetValue(<span style="color: #2b91af;">Canvas</span>.LeftProperty, iterator);</li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;zPoint.SetValue(<span style="color: #2b91af;">Canvas</span>.TopProperty, currentZOnGraph);</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000;">// finally, associate pixels with the canvas.</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;Log.Children.Add(xPoint);</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;Log.Children.Add(yPoint);</li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;Log.Children.Add(zPoint);</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">if</span> (iterator == 399)</li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;{</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log.Children.Clear();</li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;iterator = 0;</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;}</li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">else</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;{</li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;iterator++;</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;}</li>
<li style="background: #f3f3f3;">}</li>
</ol></div>
</div>
</div>
<p></p>
<div style="margin: 0px; display: inline; float: none; padding: 0px;" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:abc1fe52-2f9a-45d4-8bff-f1d4dff84955" class="wlWriterEditableSmartContent">
<div style="border: #000080 1px solid; color: #000; font-family: 'Courier New', Courier, Monospace; font-size: 10pt;">
<div style="background: #000080; color: #fff; font-family: Verdana, Tahoma, Arial, sans-serif; font-weight: bold; padding: 2px 5px;">Visual Basic</div>
<div style="background: #ddd; max-height: 300px; overflow: auto;"><ol style="background: #ffffff; margin: 0 0 0 2.5em; padding: 0 0 0 5px;" start="1">
<li><span style="color: #0000ff;">Private</span> <span style="color: #0000ff;">Sub</span> updateMyScreen(e <span style="color: #0000ff;">As</span> AccelerometerReadingEventArgs)</li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000;">' updates the textblocks</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;xreadout.Text = e.X.ToString(<span style="color: #a31515;">"0.00"</span>)</li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;yreadout.Text = e.Y.ToString(<span style="color: #a31515;">"0.00"</span>)</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;zreadout.Text = e.Z.ToString(<span style="color: #a31515;">"0.00"</span>)</li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000;">'draws on the canvas:</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">Dim</span> currentXOnGraph <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span> = <span style="color: #2b91af;">Math</span>.Abs((e.X * 200) - 200)</li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">Dim</span> currentYOnGraph <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span> = <span style="color: #2b91af;">Math</span>.Abs((e.Y * 200) - 200)</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">Dim</span> currentZOnGraph <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Double</span> = <span style="color: #2b91af;">Math</span>.Abs((e.Z * 200) - 200)</li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">Dim</span> xPoint <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">New</span> <span style="color: #2b91af;">Rectangle</span>()</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">Dim</span> yPoint <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">New</span> <span style="color: #2b91af;">Rectangle</span>()</li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">Dim</span> zPoint <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">New</span> <span style="color: #2b91af;">Rectangle</span>()</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;xPoint.Fill = <span style="color: #0000ff;">New</span> <span style="color: #2b91af;">SolidColorBrush</span>(<span style="color: #2b91af;">Colors</span>.Red)</li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;yPoint.Fill = <span style="color: #0000ff;">New</span> <span style="color: #2b91af;">SolidColorBrush</span>(<span style="color: #2b91af;">Colors</span>.Blue)</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;zPoint.Fill = <span style="color: #0000ff;">New</span> <span style="color: #2b91af;">SolidColorBrush</span>(<span style="color: #2b91af;">Colors</span>.Green)</li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000;">' set the pixel size</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;xPoint.Width = 1</li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;xPoint.Height = 2</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;yPoint.Width = 1</li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;yPoint.Height = 2</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;zPoint.Width = 1</li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;zPoint.Height = 2</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000;">' These pixels will be "pasted into" the canvas by setting their position</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000;">' according to the currentX/Y/Z-on-graph values. To set their position</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000;">' relative to the canvas, pass the canvas properties on to the pixels via</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000;">' the SetValue method. Use a generic iterator to determine the distance</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000;">' the pixel should be from the left side of the canvas.</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;xPoint.SetValue(<span style="color: #2b91af;">Canvas</span>.LeftProperty, iterator)</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;xPoint.SetValue(<span style="color: #2b91af;">Canvas</span>.TopProperty, currentXOnGraph)</li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;yPoint.SetValue(<span style="color: #2b91af;">Canvas</span>.LeftProperty, iterator)</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;yPoint.SetValue(<span style="color: #2b91af;">Canvas</span>.TopProperty, currentYOnGraph)</li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;zPoint.SetValue(<span style="color: #2b91af;">Canvas</span>.LeftProperty, iterator)</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;zPoint.SetValue(<span style="color: #2b91af;">Canvas</span>.TopProperty, currentZOnGraph)</li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000;">' finally, associate pixels with the canvas.</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;Log.Children.Add(xPoint)</li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;Log.Children.Add(yPoint)</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;Log.Children.Add(zPoint)</li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">If</span> iterator = 399 <span style="color: #0000ff;">Then</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log.Children.Clear()</li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;iterator = 0</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">Else</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;iterator += 1</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">End</span> <span style="color: #0000ff;">If</span></li>
<li style="background: #f3f3f3;"><span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Sub</span></li>
</ol></div>
</div>
</div>
<p>Enfin, pour avoir une chance d&rsquo;observer les donn&eacute;es, et d&rsquo;en arr&ecirc;ter la visualisation, nous devons &eacute;couter l&rsquo;&eacute;v&egrave;nement Play/Pause du bouton. Dans Visual Studio, double-cliquez tout simplement sur le bouton dans le designer et l&rsquo;&eacute;v&egrave;nement OnClick sera li&eacute; automatiquement &agrave; une nouvelle fonction nomm&eacute;e convenablement. Vous pouvez aussi &eacute;crire cela vous-m&ecirc;me. Dans tous les cas, comme l&rsquo;&eacute;v&egrave;nement <b>ReadingChanged</b> va mettre &agrave; jour le graphe pour nous, la seule chose &agrave; faire dans l&rsquo;&eacute;v&egrave;nement Play/Pause et de d&eacute;marrer ou arr&ecirc;ter l&rsquo;acc&eacute;l&eacute;rom&egrave;tre. La fonction ressemblera &agrave; ceci :</p>
<div style="margin: 0px; display: inline; float: none; padding: 0px;" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:3b3c7064-a33d-4a01-8f75-8f5aa12fb60c" class="wlWriterEditableSmartContent">
<div style="border: #000080 1px solid; color: #000; font-family: 'Courier New', Courier, Monospace; font-size: 10pt;">
<div style="background: #000080; color: #fff; font-family: Verdana, Tahoma, Arial, sans-serif; font-weight: bold; padding: 2px 5px;">C#</div>
<div style="background: #ddd; max-height: 300px; overflow: auto;"><ol style="background: #ffffff; margin: 0 0 0 2.5em; padding: 0 0 0 5px;" start="1">
<li><span style="color: #0000ff;">private</span> <span style="color: #0000ff;">void</span> PlayOrPause_Click(<span style="color: #0000ff;">object</span> sender, <span style="color: #2b91af;">RoutedEventArgs</span> e)</li>
<li style="background: #f3f3f3;">{</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">if</span> (PlayOrPause.Content.ToString() == <span style="color: #a31515;">"PAUSE"</span>)</li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;{</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PlayOrPause.Content = <span style="color: #a31515;">"PLAY"</span>;</li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;accelerometer.Stop();</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;}</li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">else</span> <span style="color: #0000ff;">if</span> (PlayOrPause.Content.ToString() == <span style="color: #a31515;">"PLAY"</span>)</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;{</li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;accelerometer.Start();</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PlayOrPause.Content = <span style="color: #a31515;">"PAUSE"</span>;</li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;}</li>
<li>}</li>
</ol></div>
</div>
</div>
<p></p>
<div style="margin: 0px; display: inline; float: none; padding: 0px;" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:b54dca54-3068-4d46-a1b6-3da15246face" class="wlWriterEditableSmartContent">
<div style="border: #000080 1px solid; color: #000; font-family: 'Courier New', Courier, Monospace; font-size: 10pt;">
<div style="background: #000080; color: #fff; font-family: Verdana, Tahoma, Arial, sans-serif; font-weight: bold; padding: 2px 5px;">Visual Basic</div>
<div style="background: #ddd; max-height: 300px; overflow: auto;"><ol style="background: #ffffff; margin: 0 0 0 2.5em; padding: 0 0 0 5px;" start="1">
<li><span style="color: #0000ff;">Private</span> <span style="color: #0000ff;">Sub</span> PlayOrPause_Click(sender <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Object</span>, e <span style="color: #0000ff;">As</span> <span style="color: #2b91af;">RoutedEventArgs</span>)</li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">If</span> PlayOrPause.Content.ToString() = <span style="color: #a31515;">"PAUSE"</span> <span style="color: #0000ff;">Then</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PlayOrPause.Content = <span style="color: #a31515;">"PLAY"</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;accelerometer.[Stop]()</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">ElseIf</span> PlayOrPause.Content.ToString() = <span style="color: #a31515;">"PLAY"</span> <span style="color: #0000ff;">Then</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;accelerometer.Start()</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PlayOrPause.Content = <span style="color: #a31515;">"PAUSE"</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">End</span> <span style="color: #0000ff;">If</span></li>
<li><span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Sub</span></li>
</ol></div>
</div>
</div>
<p>Ex&eacute;cuter ce code affichera un graphe contenant trois lignes ainsi que l&rsquo;affichage textuel des donn&eacute;es de l&rsquo;acc&eacute;l&eacute;rom&egrave;tre. Bien s&ucirc;r, pour r&eacute;ellement visualiser les donn&eacute;es de l&rsquo;acc&eacute;l&eacute;rom&egrave;tre, vous aurez besoin de d&eacute;ployer cette application sur un t&eacute;l&eacute;phone Windows Phone. Il est toutefois possible de <a href="http://www.bing.com/search?q=accelerometer+windows+phone+simulate">simuler l&rsquo;acc&eacute;l&eacute;rom&egrave;tre</a> si vous ne disposez pas d&rsquo;un t&eacute;l&eacute;phone.</p>
<p><b>A voir</b></p>
<ul>
<li><a href="http://msdn.microsoft.com/en-us/library/ff431793(v=VS.92).aspx">Accelerometer for Windows Phone</a> (Documents de R&eacute;f&eacute;rence)</li>
<li><a href="http://windowsteamblog.com/windows_phone/b/wpdev/archive/2010/09/08/using-the-accelerometer-on-windows-phone-7.aspx">Using Accelerometer on Windows Phone 7</a> (Blog Post)</li>
<li><a href="http://code.msdn.microsoft.com/silverlightforphone/Release/ProjectReleases.aspx?ReleaseId=5206">Source code for this QuickApp</a> (T&eacute;l&eacute;chargement)</li>
<li><a href="https://channel9.msdn.com/posts/Windows-Phone-7-Accelerometer-QuickApp-Using-Silverlight-for-Windows-Phone-7">Page for Video Walkthrough</a> (Vid&eacute;o)</li>
</ul>
<p>&nbsp;</p>
<hr />
<p><a href="#sommaire">Cliquez ici pour revenir au sommaire de la liste d&rsquo;articles</a></p>]]></content:encoded>
    </item>
    <item>
      <title>Developpement Windows Phone - partie 22</title>
      <link>https://docs.microsoft.com/archive/blogs/jflavidalle/developpement-windows-phone-partie-22</link>
      <pubDate>Tue, 06 Sep 2011 13:22:00 GMT</pubDate>
      <dc:creator><![CDATA[JFLavidalle]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/jflavidalle/2011/09/06/developpement-windows-phone-partie-22/</guid>
      <description><![CDATA[Cet article fait partie d&rsquo;une s&eacute;rie d&rsquo;articles sur le d&eacute;veloppement...]]></description>
      <content:encoded><![CDATA[<p>Cet article fait partie d&rsquo;une s&eacute;rie d&rsquo;articles sur le d&eacute;veloppement Windows Phone. Il s&rsquo;agit d&rsquo;une traduction des articles se trouvant <a href="http://create.msdn.com/en-us/education/quickstarts" target="_blank">sur la MSDN</a>.</p>
<p><a name="sommaire"></a>Sommaire</p>
<p><strong>Bien d&eacute;buter et fondamentaux</strong></p>
<ul>
<li><a href="http://blogs.msdn.com/b/jflavidalle/archive/2011/09/06/developpement-windows-phone-partie-1.aspx" target="_blank">Bien d&eacute;marrer (Hello World)</a></li>
<li><a href="http://blogs.msdn.com/b/lgmorand/archive/2011/09/06/developpement-windows-phone-partie-2.aspx" target="_blank">Cr&eacute;er une interface utilisateur pour Windows Phone en XAML</a></li>
<li><a href="http://blogs.msdn.com/b/patrick_payet/archive/2011/09/06/developpement-windows-phone-partie-3.aspx" target="_blank">Utiliser des contr&ocirc;les</a></li>
<li><a href="http://blogs.msdn.com/b/jflavidalle/archive/2011/09/06/developpement-windows-phone-partie-4.aspx" target="_blank">Types de contr&ocirc;les</a></li>
<li><a href="http://blogs.msdn.com/b/lgmorand/archive/2011/09/06/developpement-windows-phone-partie-5.aspx" target="_blank">Contr&ocirc;les Panorama et Pivot</a></li>
<li><a href="http://blogs.msdn.com/b/patrick_payet/archive/2011/09/06/developpement-windows-phone-partie-6.aspx" target="_blank">Travailler avec du texte sur le Windows Phone</a></li>
<li><a href="http://blogs.msdn.com/b/jflavidalle/archive/2011/09/06/developpement-windows-phone-partie-7.aspx" target="_blank">Mise en page sur l&rsquo;&eacute;cran</a></li>
<li><a href="http://blogs.msdn.com/b/lgmorand/archive/2011/09/06/developpement-windows-phone-partie-8.aspx" target="_blank">Orientations de l&rsquo;&eacute;cran</a></li>
<li><a href="http://blogs.msdn.com/b/patrick_payet/archive/2011/09/06/developpement-windows-phone-partie-9.aspx" target="_blank">Saisie tactile</a></li>
<li><a href="http://blogs.msdn.com/b/jflavidalle/archive/2011/09/06/developpement-windows-phone-partie-10.aspx" target="_blank">Navigation</a></li>
<li><a href="http://blogs.msdn.com/b/lgmorand/archive/2011/09/06/developpement-windows-phone-partie-11.aspx" target="_blank">Ex&eacute;cuter votre application en arri&egrave;re-plan (tombstoning)</a></li>
<li><a href="http://blogs.msdn.com/b/patrick_payet/archive/2011/09/06/developpement-windows-phone-partie-12.aspx" target="_blank">Notifications Push pour le d&eacute;veloppement Windows Phone</a></li>
<li><a href="http://blogs.msdn.com/b/jflavidalle/archive/2011/09/06/developpement-windows-phone-partie-13.aspx" target="_blank">Publier votre application sur le Marketplace</a></li>
</ul>
<p><strong>Visuels et m&eacute;dia</strong></p>
<ul>
<li><a href="http://blogs.msdn.com/b/lgmorand/archive/2011/09/06/developpement-windows-phone-partie-14.aspx" target="_blank">Images</a></li>
<li><a href="http://blogs.msdn.com/b/patrick_payet/archive/2011/09/06/developpement-windows-phone-partie-15.aspx" target="_blank">Animations</a></li>
<li><a href="http://blogs.msdn.com/b/jflavidalle/archive/2011/09/06/developpement-windows-phone-partie-16.aspx" target="_blank">Vid&eacute;o et Audio</a></li>
<li><a href="http://blogs.msdn.com/b/lgmorand/archive/2011/09/06/developpement-windows-phone-partie-17.aspx" target="_blank">Graphiques</a></li>
<li><a href="http://blogs.msdn.com/b/patrick_payet/archive/2011/09/06/developpement-windows-phone-partie-18.aspx" target="_blank">Pinceaux</a></li>
</ul>
<p><strong>Travailler avec les donn&eacute;es</strong></p>
<ul>
<li><a href="http://blogs.msdn.com/b/jflavidalle/archive/2011/09/06/developpement-windows-phone-partie-19.aspx" target="_blank">Obtenir des donn&eacute;es dans vos applications Windows Phone</a></li>
<li><a href="http://blogs.msdn.com/b/lgmorand/archive/2011/09/06/developpement-windows-phone-partie-20.aspx" target="_blank">Data binding</a></li>
<li><a href="http://blogs.msdn.com/b/patrick_payet/archive/2011/09/06/developpement-windows-phone-partie-21.aspx" target="_blank">Isolated storage</a></li>
<li><a href="http://blogs.msdn.com/b/jflavidalle/archive/2011/09/06/developpement-windows-phone-partie-22.aspx" target="_blank">Acc&eacute;der &agrave; un service Web REST</a></li>
<li><a href="http://blogs.msdn.com/b/lgmorand/archive/2011/09/06/developpement-windows-phone-partie-23.aspx" target="_blank">Consommer des donn&eacute;es Windows Azure</a></li>
</ul>
<p><strong>Sondes et autres fonctionnalit&eacute;s sp&eacute;cifiques au t&eacute;l&eacute;phone</strong></p>
<ul>
<li><a href="http://blogs.msdn.com/b/patrick_payet/archive/2011/09/06/developpement-windows-phone-partie-24.aspx" target="_blank">Lanceurs et choosers</a></li>
<li><a href="http://blogs.msdn.com/b/jflavidalle/archive/2011/09/06/developpement-windows-phone-partie-25.aspx" target="_blank">D&eacute;tecter des mouvements (acc&eacute;l&eacute;rom&egrave;tres)</a></li>
<li><a href="http://blogs.msdn.com/b/lgmorand/archive/2011/09/06/developpement-windows-phone-partie-26.aspx" target="_blank">D&eacute;velopper avec le GPS Windows Phone (Services de localisation)</a></li>
<li><a href="http://blogs.msdn.com/b/patrick_payet/archive/2011/09/06/developpement-windows-phone-partie-27.aspx" target="_blank">D&eacute;velopper avec l&rsquo;appareil photo du Windows Phone</a></li>
</ul>
<hr />
<h1>Acc&eacute;der &agrave; un Web Service REST</h1>
<p>Representational State Transfer (REST) fait r&eacute;f&eacute;rence &agrave; un style d&rsquo;architecture pour exposer des ressources sur le web pouvant &ecirc;tre acc&eacute;d&eacute;es par des clients. De nombreuses ressources, comme les blogs, les cartes, les produits sont expos&eacute;s en tant que service REST sur le Web. Silverlight fournit des classes qui rendent tr&egrave;s simple l&rsquo;appel &agrave; des services REST depuis une application Windows Phone. Ce tutoriel explique comment appeler et travailler avec des services REST.</p>
<p>Ce tutoriel contient les sections suivantes :</p>
<ul>
<li><a href="http://blogs.msdn.com/b/jflavidalle/archive/2011/09/06/developpement-windows-phone-partie-22.aspx#callingRestServices">Consommer un Service REST</a></li>
<li><a href="http://blogs.msdn.com/b/jflavidalle/archive/2011/09/06/developpement-windows-phone-partie-22.aspx#callingARestServiceExample">Exemple d&rsquo;appel de Service REST</a></li>
<li><a href="http://blogs.msdn.com/b/jflavidalle/archive/2011/09/06/developpement-windows-phone-partie-22.aspx#networkConnectivity">D&eacute;tecter la connectivit&eacute; du r&eacute;seau</a></li>
</ul>
<p>Note</p>
<p>Les exemples fournis dans ce guide de d&eacute;marrage s&rsquo;ex&eacute;cutent dans le navigateur pour simuler le comportement de Silverlight sur Windows Phone. Le comportement r&eacute;el peut &ecirc;tre l&eacute;g&egrave;rement diff&eacute;rent dans le simulateur Windows Phone ou sur le t&eacute;l&eacute;phone lui-m&ecirc;me.</p>
<p>&nbsp;</p>
<h2><a name="callingRestServices"></a>Consommer un Service REST</h2>
<p>Les appels aux services REST se fait un utilisant les verbes standards HTTP (GET, POST, PUT, et DELETE). Les ressources sont identifi&eacute;es par une URI. Une r&eacute;ponse contient une repr&eacute;sentation, habituellement en XML ou JavaScript Object Notation (JSON), de la ressource sp&eacute;cifi&eacute;e. Les requ&ecirc;tes sont sans &eacute;tats (stateless), ce qui signifie que toutes les informations n&eacute;cessaire &agrave; l&rsquo;ex&eacute;cution de la requ&ecirc;te doivent &ecirc;tre inclues dans chaque requ&ecirc;te.</p>
<p>Un aspect important de l&rsquo;appel de services REST est de s&rsquo;assurer que l&rsquo;URI correcte est utilis&eacute;e lorsque vous tentez d&rsquo;acc&eacute;der &agrave; une ressource. La plupart du temps les compagnies fournissent une liste des pr&eacute;requis d&rsquo;un appel, contenant les param&egrave;tres et les valeurs qui doivent &ecirc;tre pass&eacute;es. Par exemple, pour appeler le web service Bing, vous pouvez vous r&eacute;f&eacute;rer au <a href="http://msdn.microsoft.com/en-us/library/dd251056.aspx">Bing API guidelines</a>.</p>
<p>Silverlight pour Windows Phone fournit plusieurs classes pour consommer des services REST. Il faut toutefois garder &agrave; l&rsquo;esprit que Windows Phone utilise Silverlight 3, ce qui implique que les fonctions de r&eacute;seau de Silverlight 4 ne sont pas disponibles pour les clients Windows Phone. Pour plus d&rsquo;information sur les diff&eacute;rentes de fonctionnalit&eacute;s r&eacute;seau entre Silverlight pour Windows Phone et Silverlight pour Windows, jetez un &oelig;il &agrave; <a href="http://msdn.microsoft.com/en-us/library/ff637320(VS.95).aspx">Networking in Silverlight for Windows Phone</a>.</p>
<p>Pour consommer un service REST depuis une application cliente Windows Phone, vous pouvez soit utiliser la classe <a href="http://msdn.microsoft.com/en-us/library/system.net.webclient(VS.95).aspx">WebClient</a> ou les classes <a href="http://msdn.microsoft.com/en-us/library/system.net.httpwebrequest(VS.95).aspx">HttpWebRequest</a>/<a href="http://msdn.microsoft.com/en-us/library/system.net.httpwebresponse(VS.95).aspx">HttpWebResponse</a>. Avec ces deux options, les requ&ecirc;tes sont asynchrones. Toutefois, <a href="http://msdn.microsoft.com/en-us/library/system.net.webclient(VS.95).aspx">WebClient</a> est le plus simple des deux.</p>
<p><a href="http://msdn.microsoft.com/en-us/library/system.net.webclient(VS.95).aspx">WebClient</a> utilise un syst&egrave;me simple bas&eacute; sur des &eacute;v&egrave;nements pour faire des requ&ecirc;tes et en r&eacute;cup&eacute;rer les r&eacute;ponses. Pour utiliser <a href="http://msdn.microsoft.com/en-us/library/system.net.webclient(VS.95).aspx">WebClient</a>, vous devez appeler la m&eacute;thode <b>Async</b> appropri&eacute;e et vous abonner &agrave; l&rsquo;&eacute;v&egrave;nement <b>Completed</b> correspondant. Le tableau ci-dessous contient quelques-unes des m&eacute;thodes et &eacute;v&egrave;nements de <a href="http://msdn.microsoft.com/en-us/library/system.net.webclient(VS.95).aspx">WebClient</a> que vous pouvez utiliser, en fonction de l&rsquo;action et du type de donn&eacute;e.</p>
<table border="0" cellspacing="3" cellpadding="0">
<tbody>
<tr>
<td>
<p><b>Action </b></p>
</td>
<td>
<p><b>Type de Donn&eacute;e </b></p>
</td>
<td>
<p><b>M&eacute;thodes et &eacute;v&egrave;nements </b></p>
</td>
</tr>
<tr>
<td>
<p>GET</p>
</td>
<td>
<p>String</p>
</td>
<td>
<p>M&eacute;thode <a href="http://msdn.microsoft.com/en-us/library/system.net.webclient.downloadstringasync(VS.95).aspx">DownloadStringAsync</a> <br />Ev&egrave;nement <a href="http://msdn.microsoft.com/en-us/library/system.net.webclient.downloadstringcompleted(VS.95).aspx">DownloadStringCompleted</a></p>
</td>
</tr>
<tr>
<td>
<p>GET</p>
</td>
<td>
<p>Stream</p>
</td>
<td>
<p>M&eacute;thode <a href="http://msdn.microsoft.com/en-us/library/system.net.webclient.openreadasync(VS.95).aspx">OpenReadAsync</a> <br />Ev&egrave;nement <a href="http://msdn.microsoft.com/en-us/library/system.net.webclient.openreadcompleted(VS.95).aspx">OpenReadCompleted</a></p>
</td>
</tr>
<tr>
<td>
<p>POST</p>
</td>
<td>
<p>String</p>
</td>
<td>
<p>M&eacute;thode <a href="http://msdn.microsoft.com/en-us/library/system.net.webclient.uploadstringasync(VS.95).aspx">UploadStringAsync</a> <br />Ev&egrave;nement <a href="http://msdn.microsoft.com/en-us/library/system.net.webclient.uploadstringcompleted(VS.95).aspx">UploadStringCompleted</a></p>
</td>
</tr>
<tr>
<td>
<p>POST</p>
</td>
<td>
<p>Stream</p>
</td>
<td>
<p>M&eacute;thode <a href="http://msdn.microsoft.com/en-us/library/system.net.webclient.openwriteasync(VS.95).aspx">OpenWriteAsync</a> <br />Ev&egrave;nement <a href="http://msdn.microsoft.com/en-us/library/system.net.webclient.openwritecompleted(VS.95).aspx">OpenWriteCompleted</a></p>
</td>
</tr>
</tbody>
</table>
<p>La classe <a href="http://msdn.microsoft.com/en-us/library/system.net.httpwebrequest(VS.95).aspx">HttpWebRequest</a> vous permet d&rsquo;avoir un plus grand contr&ocirc;le sur le message de la requ&ecirc;te, tel que les messages HTTP PUT et DELETE. Pour plus d&rsquo;information sur l&rsquo;utilisation des classes the <a href="http://msdn.microsoft.com/en-us/library/system.net.httpwebrequest(VS.95).aspx">HttpWebRequest</a>/<a href="http://msdn.microsoft.com/en-us/library/system.net.httpwebresponse(VS.95).aspx">HttpWebResponse</a> , jetez un &oelig;il &agrave; la classe <a href="http://msdn.microsoft.com/en-us/library/system.net.httpwebrequest(VS.95).aspx">HttpWebRequest</a>.</p>
<p>&nbsp;</p>
<h2><a name="callingARestServiceExample"></a>Exemple d&rsquo;appel de Service REST</h2>
<p>L&rsquo;exemple ci-dessous illustre l&rsquo;usage de la classe <a href="http://msdn.microsoft.com/en-us/library/system.net.webclient(VS.95).aspx">WebClient</a> pour envoyer une requ&ecirc;te depuis une application Windows Phone vers le service de recherche Bing. Dans cet exemple, vous pouvez changer le texte recherch&eacute; en utilisant la liste d&eacute;roulante, ce qui met &agrave; jour l&rsquo;URI de recherche. Lorsque vous cliquez sur le bouton <b>Search!</b>, une requ&ecirc;te est envoy&eacute;e au service de recherch&eacute; Bing. En plus du texte recherch&eacute;, l&rsquo;URI utilis&eacute;e contient l&rsquo;information indiquant que le r&eacute;sultat de la requ&ecirc;te doit &ecirc;tre au format XML. Les r&eacute;sultats sont pars&eacute;s et affich&eacute;s dans la liste.</p>
<p><object data="data:application/x-oleobject;base64,QfXq3+HzJEysrJnDBxUISgAJAACtMwAAgi4AAAwAAABXAGgAaQB0AGUAAAAAAAAAAAAAAAAAAACeAAAAaAB0AHQAcAA6AC8ALwBjAHIAZQBhAHQAZQAuAG0AcwBkAG4ALgBjAG8AbQAvAC8AYQBzAHMAZQB0AHMALwBjAG0AcwAvAGQAbwBjAHMALwBRAHUAaQBjAGsAcwB0AGEAcgB0AHMAWABBAFAALwBSAEUAUwBUAEMAbABpAGUAbgB0AFcAUABDAGgAcgBvAG0AZQAxAC4AeABhAHAAAAA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAYAAAAMwAuADAALgA0ADAANgAyADQALgAwAAAACgAAAHQAcgB1AGUAAAAAAAAAAAAAAAAAAAA=" width="500" type="application/x-silverlight-2" height="450" autoupdate="true"><param name="source" value="http://create.msdn.com//assets/cms/docs/QuickstartsXAP/RESTClientWPChrome1.xap" /><param name="minRuntimeVersion" value="3.0.40624.0" /><param name="background" value="White" /><param name="autoUpgrade" value="true" /><a style="text-decoration: none;" href="http://go.microsoft.com/fwlink/?LinkID=149156&amp;v=3.0.40624.0"> <img style="border-style: none;" alt="Get Microsoft Silverlight" src="http://go.microsoft.com/fwlink/?LinkId=161376" /> </a> </object></p>
<p>Note</p>
<p>Bien que cet exemple contienne un Bing Application ID dans l&rsquo;URI pour effectuer la requ&ecirc;te, l&rsquo;Application ID utilis&eacute; n&rsquo;est pas affich&eacute; dans le code. Pour obtenir un Application ID servant &agrave; utiliser le service de recherche Bing, allez voir <a href="http://msdn.microsoft.com/en-us/library/dd251020.aspx">Getting Started with Bing Api Version 2</a>.</p>
<p>Note sur la s&eacute;curit&eacute;</p>
<p>Lorsque vous vous connectez &agrave; un service web qui n&eacute;cessite une clef, ne stockez pas cette clef dans l&rsquo;application qui s&rsquo;ex&eacute;cutera sur un t&eacute;l&eacute;phone. &Agrave; la place, cr&eacute;ez un web service proxy qui identifiera l&rsquo;utilisateur et appellera le service externe avec la clef. Pour plus d&rsquo;information sur les recommandations de s&eacute;curit&eacute;, jetez un &oelig;il &agrave; <a href="http://msdn.microsoft.com/en-us/library/gg521147.aspx">Web Service Security for Windows Phone</a>.</p>
<p>Vous trouverez ci-dessous le markup et le code de cet exemple.</p>
<p>&nbsp;</p>
<div style="margin: 0px; display: inline; float: none; padding: 0px;" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:94726076-107f-49be-9df6-61e2cd11a3e5" class="wlWriterEditableSmartContent">
<div style="border: #000080 1px solid; color: #000; font-family: 'Courier New', Courier, Monospace; font-size: 10pt;">
<div style="background: #000080; color: #fff; font-family: Verdana, Tahoma, Arial, sans-serif; font-weight: bold; padding: 2px 5px;">XAML</div>
<div style="background: #ddd; max-height: 300px; overflow: auto;"><ol style="background: #ffffff; margin: 0 0 0 2.5em; padding: 0 0 0 5px;" start="1">
<li><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">phone</span><span style="color: #0000ff;">:</span><span style="color: #a31515;">PhoneApplicationPage</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #ff0000;"> x</span><span style="color: #0000ff;">:</span><span style="color: #ff0000;">Class</span><span style="color: #0000ff;">="WindowsPhoneApplication1.MainPage"</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #ff0000;"> xmlns</span><span style="color: #0000ff;">="http://schemas.microsoft.com/winfx/2006/xaml/presentation"</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #ff0000;"> xmlns</span><span style="color: #0000ff;">:</span><span style="color: #ff0000;">x</span><span style="color: #0000ff;">="http://schemas.microsoft.com/winfx/2006/xaml"</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #ff0000;"> xmlns</span><span style="color: #0000ff;">:</span><span style="color: #ff0000;">phone</span><span style="color: #0000ff;">="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone"</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #ff0000;"> xmlns</span><span style="color: #0000ff;">:</span><span style="color: #ff0000;">shell</span><span style="color: #0000ff;">="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone"</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #ff0000;"> xmlns</span><span style="color: #0000ff;">:</span><span style="color: #ff0000;">d</span><span style="color: #0000ff;">="http://schemas.microsoft.com/expression/blend/2008"</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #ff0000;"> xmlns</span><span style="color: #0000ff;">:</span><span style="color: #ff0000;">mc</span><span style="color: #0000ff;">="http://schemas.openxmlformats.org/markup-compatibility/2006"</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #ff0000;"> mc</span><span style="color: #0000ff;">:</span><span style="color: #ff0000;">Ignorable</span><span style="color: #0000ff;">="d"</span><span style="color: #ff0000;"> d</span><span style="color: #0000ff;">:</span><span style="color: #ff0000;">DesignWidth</span><span style="color: #0000ff;">="480"</span><span style="color: #ff0000;"> d</span><span style="color: #0000ff;">:</span><span style="color: #ff0000;">DesignHeight</span><span style="color: #0000ff;">="800"</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #ff0000;"> FontFamily</span><span style="color: #0000ff;">="{</span><span style="color: #a31515;">StaticResource</span><span style="color: #ff0000;"> PhoneFontFamilyNormal}</span><span style="color: #0000ff;">"</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #ff0000;"> FontSize</span><span style="color: #0000ff;">="{</span><span style="color: #a31515;">StaticResource</span><span style="color: #ff0000;"> PhoneFontSizeNormal}</span><span style="color: #0000ff;">"</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #ff0000;"> Foreground</span><span style="color: #0000ff;">="{</span><span style="color: #a31515;">StaticResource</span><span style="color: #ff0000;"> PhoneForegroundBrush}</span><span style="color: #0000ff;">"</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #ff0000;"> SupportedOrientations</span><span style="color: #0000ff;">="Portrait"</span><span style="color: #ff0000;"> Orientation</span><span style="color: #0000ff;">="Portrait"</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #ff0000;"> shell</span><span style="color: #0000ff;">:</span><span style="color: #ff0000;">SystemTray.IsVisible</span><span style="color: #0000ff;">="False"&gt;</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #008000;">&lt;!--LayoutRoot is the root grid where all page content is placed--&gt;</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">Grid</span><span style="color: #ff0000;"> x</span><span style="color: #0000ff;">:</span><span style="color: #ff0000;">Name</span><span style="color: #0000ff;">="LayoutRoot"</span><span style="color: #ff0000;"> Background</span><span style="color: #0000ff;">="Transparent"&gt;</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">Grid.Resources</span><span style="color: #0000ff;">&gt;</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">Style</span><span style="color: #ff0000;"> x</span><span style="color: #0000ff;">:</span><span style="color: #ff0000;">Key</span><span style="color: #0000ff;">="ComboBoxItemStyle"</span><span style="color: #ff0000;"> TargetType</span><span style="color: #0000ff;">="ComboBoxItem" &gt;</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">Setter</span><span style="color: #ff0000;"> Property</span><span style="color: #0000ff;">="Foreground"</span><span style="color: #ff0000;"> Value</span><span style="color: #0000ff;">="Black"/&gt;</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">Setter</span><span style="color: #ff0000;"> Property</span><span style="color: #0000ff;">="Background"</span><span style="color: #ff0000;"> Value</span><span style="color: #0000ff;">="LightGray"/&gt;</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">Style</span><span style="color: #0000ff;">&gt;</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">Style</span><span style="color: #ff0000;"> x</span><span style="color: #0000ff;">:</span><span style="color: #ff0000;">Key</span><span style="color: #0000ff;">="ComboBoxStyle"</span><span style="color: #ff0000;"> TargetType</span><span style="color: #0000ff;">="ComboBox" &gt;</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">Setter</span><span style="color: #ff0000;"> Property</span><span style="color: #0000ff;">="Foreground"</span><span style="color: #ff0000;"> Value</span><span style="color: #0000ff;">="Black"/&gt;</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">Setter</span><span style="color: #ff0000;"> Property</span><span style="color: #0000ff;">="Background"</span><span style="color: #ff0000;"> Value</span><span style="color: #0000ff;">="Gray"/&gt;</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">Style</span><span style="color: #0000ff;">&gt;</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">Grid.Resources</span><span style="color: #0000ff;">&gt;</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">Grid.RowDefinitions</span><span style="color: #0000ff;">&gt;</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">RowDefinition</span><span style="color: #ff0000;"> Height</span><span style="color: #0000ff;">="Auto"/&gt;</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">RowDefinition</span><span style="color: #ff0000;"> Height</span><span style="color: #0000ff;">="*"/&gt;</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">Grid.RowDefinitions</span><span style="color: #0000ff;">&gt;</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #008000;">&lt;!--TitlePanel contains the name of the application and page title--&gt;</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">StackPanel</span><span style="color: #ff0000;"> x</span><span style="color: #0000ff;">:</span><span style="color: #ff0000;">Name</span><span style="color: #0000ff;">="TitlePanel"</span><span style="color: #ff0000;"> Grid.Row</span><span style="color: #0000ff;">="0"</span><span style="color: #ff0000;"> Margin</span><span style="color: #0000ff;">="12,17,0,28"&gt;</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">TextBlock</span><span style="color: #ff0000;"> x</span><span style="color: #0000ff;">:</span><span style="color: #ff0000;">Name</span><span style="color: #0000ff;">="ApplicationTitle"</span><span style="color: #ff0000;"> Text</span><span style="color: #0000ff;">="REST CLIENT"</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #ff0000;"> Style</span><span style="color: #0000ff;">="{</span><span style="color: #a31515;">StaticResource</span><span style="color: #ff0000;"> PhoneTextNormalStyle}</span><span style="color: #0000ff;">"/&gt;</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">TextBlock</span><span style="color: #ff0000;"> x</span><span style="color: #0000ff;">:</span><span style="color: #ff0000;">Name</span><span style="color: #0000ff;">="PageTitle"</span><span style="color: #ff0000;"> Text</span><span style="color: #0000ff;">="bing search"</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #ff0000;"> Margin</span><span style="color: #0000ff;">="9,-7,0,0"</span><span style="color: #ff0000;"> Style</span><span style="color: #0000ff;">="{</span><span style="color: #a31515;">StaticResource</span><span style="color: #ff0000;"> PhoneTextTitle1Style}</span><span style="color: #0000ff;">"</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #ff0000;"> Height</span><span style="color: #0000ff;">="99"</span><span style="color: #ff0000;"> Width</span><span style="color: #0000ff;">="453" /&gt;</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">StackPanel</span><span style="color: #0000ff;">&gt;</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #008000;">&lt;!--ContentPanel - place additional content here--&gt;</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">Grid</span><span style="color: #ff0000;"> x</span><span style="color: #0000ff;">:</span><span style="color: #ff0000;">Name</span><span style="color: #0000ff;">="ContentPanel"</span><span style="color: #ff0000;"> Margin</span><span style="color: #0000ff;">="12,139,12,0"</span><span style="color: #ff0000;"> Grid.RowSpan</span><span style="color: #0000ff;">="2"&gt;</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">Button</span><span style="color: #ff0000;"> Content</span><span style="color: #0000ff;">="Search!"</span><span style="color: #ff0000;"> Height</span><span style="color: #0000ff;">="89"</span><span style="color: #ff0000;"> HorizontalAlignment</span><span style="color: #0000ff;">="Left"</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #ff0000;"> Margin</span><span style="color: #0000ff;">="264,140,0,0"</span><span style="color: #ff0000;"> Name</span><span style="color: #0000ff;">="button1"</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #ff0000;"> VerticalAlignment</span><span style="color: #0000ff;">="Top"</span><span style="color: #ff0000;"> Width</span><span style="color: #0000ff;">="189"</span><span style="color: #ff0000;"> Click</span><span style="color: #0000ff;">="button1_Click" /&gt;</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">ComboBox</span><span style="color: #ff0000;"> Height</span><span style="color: #0000ff;">="50"</span><span style="color: #ff0000;"> Style</span><span style="color: #0000ff;">="{</span><span style="color: #a31515;">StaticResource</span><span style="color: #ff0000;"> ComboBoxStyle}</span><span style="color: #0000ff;">"</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #ff0000;"> HorizontalAlignment</span><span style="color: #0000ff;">="Left"</span><span style="color: #ff0000;"> Margin</span><span style="color: #0000ff;">="6,159"</span><span style="color: #ff0000;"> Name</span><span style="color: #0000ff;">="comboBox1"</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #ff0000;"> ItemContainerStyle</span><span style="color: #0000ff;">="{</span><span style="color: #a31515;">StaticResource</span><span style="color: #ff0000;"> ComboBoxItemStyle}</span><span style="color: #0000ff;">"</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #ff0000;"> VerticalAlignment</span><span style="color: #0000ff;">="Top"</span><span style="color: #ff0000;"> Width</span><span style="color: #0000ff;">="235"</span><span style="color: #ff0000;"> ItemsSource</span><span style="color: #0000ff;">="{</span><span style="color: #a31515;">Binding}</span><span style="color: #0000ff;">"</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #ff0000;"> SelectionChanged</span><span style="color: #0000ff;">="comboBox1_SelectionChanged" /&gt;</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">TextBlock</span><span style="color: #ff0000;"> Height</span><span style="color: #0000ff;">="36"</span><span style="color: #ff0000;"> HorizontalAlignment</span><span style="color: #0000ff;">="Left"</span><span style="color: #ff0000;"> Margin</span><span style="color: #0000ff;">="12,120"</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #ff0000;"> Name</span><span style="color: #0000ff;">="textBlock2"</span><span style="color: #ff0000;"> Text</span><span style="color: #0000ff;">="Search Topic:"</span><span style="color: #ff0000;"> VerticalAlignment</span><span style="color: #0000ff;">="Top"</span><span style="color: #ff0000;"> Width</span><span style="color: #0000ff;">="121" /&gt;</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">TextBlock</span><span style="color: #ff0000;"> Height</span><span style="color: #0000ff;">="23"</span><span style="color: #ff0000;"> HorizontalAlignment</span><span style="color: #0000ff;">="Left"</span><span style="color: #ff0000;"> Margin</span><span style="color: #0000ff;">="12,1,0,0"</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #ff0000;"> Name</span><span style="color: #0000ff;">="textBlock3"</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #ff0000;"> Text</span><span style="color: #0000ff;">="URI:"</span><span style="color: #ff0000;"> VerticalAlignment</span><span style="color: #0000ff;">="Top" /&gt;</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">TextBlock</span><span style="color: #ff0000;"> Height</span><span style="color: #0000ff;">="86"</span><span style="color: #ff0000;"> HorizontalAlignment</span><span style="color: #0000ff;">="Left"</span><span style="color: #ff0000;"> Margin</span><span style="color: #0000ff;">="6,28"</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #ff0000;"> Name</span><span style="color: #0000ff;">="uriTextBlock"</span><span style="color: #ff0000;"> TextWrapping</span><span style="color: #0000ff;">="Wrap"</span><span style="color: #ff0000;"> Text</span><span style="color: #0000ff;">="{</span><span style="color: #a31515;">Binding}</span><span style="color: #0000ff;">"</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #ff0000;"> VerticalAlignment</span><span style="color: #0000ff;">="Top"</span><span style="color: #ff0000;"> Width</span><span style="color: #0000ff;">="447" /&gt;</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">TextBlock</span><span style="color: #ff0000;"> Height</span><span style="color: #0000ff;">="23"</span><span style="color: #ff0000;"> HorizontalAlignment</span><span style="color: #0000ff;">="Left"</span><span style="color: #ff0000;"> Margin</span><span style="color: #0000ff;">="12,242,0,0"</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #ff0000;"> Name</span><span style="color: #0000ff;">="textBlock5"</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #ff0000;"> Text</span><span style="color: #0000ff;">="Results:"</span><span style="color: #ff0000;"> VerticalAlignment</span><span style="color: #0000ff;">="Top" /&gt;</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">ListBox</span><span style="color: #ff0000;"> Height</span><span style="color: #0000ff;">="352"</span><span style="color: #ff0000;"> HorizontalAlignment</span><span style="color: #0000ff;">="Left"</span><span style="color: #ff0000;"> Margin</span><span style="color: #0000ff;">="6,271,0,0"</span><span style="color: #ff0000;"> Name</span><span style="color: #0000ff;">="listBox1"</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #ff0000;"> VerticalAlignment</span><span style="color: #0000ff;">="Top"</span><span style="color: #ff0000;"> Width</span><span style="color: #0000ff;">="444"</span><span style="color: #ff0000;"> ItemsSource</span><span style="color: #0000ff;">="{</span><span style="color: #a31515;">Binding}</span><span style="color: #0000ff;">" &gt;</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">ListBox.ItemTemplate</span><span style="color: #0000ff;">&gt;</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">DataTemplate</span><span style="color: #0000ff;">&gt;</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">Border</span><span style="color: #ff0000;"> BorderBrush</span><span style="color: #0000ff;">="{</span><span style="color: #a31515;">StaticResource</span><span style="color: #ff0000;"> PhoneForegroundBrush}</span><span style="color: #0000ff;">"</span><span style="color: #ff0000;"> Width</span><span style="color: #0000ff;">="418"</span><span style="color: #ff0000;"> BorderThickness</span><span style="color: #0000ff;">="2"</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #ff0000;"> Margin</span><span style="color: #0000ff;">="2"&gt;</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">StackPanel</span><span style="color: #0000ff;">&gt;</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">TextBlock</span><span style="color: #ff0000;"> Text</span><span style="color: #0000ff;">="{</span><span style="color: #a31515;">Binding</span><span style="color: #ff0000;"> Path</span><span style="color: #0000ff;">=Title}"</span><span style="color: #ff0000;"> TextWrapping</span><span style="color: #0000ff;">="Wrap" /&gt;</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">TextBlock</span><span style="color: #ff0000;"> Text</span><span style="color: #0000ff;">="{</span><span style="color: #a31515;">Binding</span><span style="color: #ff0000;"> Path</span><span style="color: #0000ff;">=Url}"</span><span style="color: #ff0000;"> TextWrapping</span><span style="color: #0000ff;">="Wrap"/&gt;</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">StackPanel</span><span style="color: #0000ff;">&gt;</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">Border</span><span style="color: #0000ff;">&gt;</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">DataTemplate</span><span style="color: #0000ff;">&gt;</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">ListBox.ItemTemplate</span><span style="color: #0000ff;">&gt;</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">ListBox</span><span style="color: #0000ff;">&gt;</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">Grid</span><span style="color: #0000ff;">&gt;</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">Grid</span><span style="color: #0000ff;">&gt;</span></li>
<li style="background: #f3f3f3;"><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">phone</span><span style="color: #0000ff;">:</span><span style="color: #a31515;">PhoneApplicationPage</span><span style="color: #0000ff;">&gt;</span></li>
</ol></div>
</div>
</div>
<p></p>
<div style="margin: 0px; display: inline; float: none; padding: 0px;" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:7cbb4571-f2ad-40ee-a2ad-7318d90c8b0d" class="wlWriterEditableSmartContent">
<div style="border: #000080 1px solid; color: #000; font-family: 'Courier New', Courier, Monospace; font-size: 10pt;">
<div style="background: #000080; color: #fff; font-family: Verdana, Tahoma, Arial, sans-serif; font-weight: bold; padding: 2px 5px;">C#</div>
<div style="background: #ddd; max-height: 300px; overflow: auto;"><ol style="background: #ffffff; margin: 0 0 0 2.5em; padding: 0 0 0 5px;" start="1">
<li><span style="color: #0000ff;">using</span> System;</li>
<li style="background: #f3f3f3;"><span style="color: #0000ff;">using</span> System.Collections.Generic;</li>
<li><span style="color: #0000ff;">using</span> System.Linq;</li>
<li style="background: #f3f3f3;"><span style="color: #0000ff;">using</span> System.Net;</li>
<li><span style="color: #0000ff;">using</span> System.Windows;</li>
<li style="background: #f3f3f3;"><span style="color: #0000ff;">using</span> System.Windows.Controls;</li>
<li><span style="color: #0000ff;">using</span> System.Windows.Documents;</li>
<li style="background: #f3f3f3;"><span style="color: #0000ff;">using</span> System.Windows.Input;</li>
<li><span style="color: #0000ff;">using</span> System.Windows.Media;</li>
<li style="background: #f3f3f3;"><span style="color: #0000ff;">using</span> System.Windows.Media.Animation;</li>
<li><span style="color: #0000ff;">using</span> System.Windows.Shapes;</li>
<li style="background: #f3f3f3;"><span style="color: #0000ff;">using</span> Microsoft.Phone.Controls;</li>
<li><span style="color: #0000ff;">using</span> System.Xml.Linq;</li>
<li style="background: #f3f3f3;"><span style="color: #0000ff;">namespace</span> WindowsPhoneApplication1</li>
<li>{</li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">public</span> <span style="color: #0000ff;">partial</span> <span style="color: #0000ff;">class</span> <span style="color: #2b91af;">MainPage</span> : PhoneApplicationPage</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;{</li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000;">// Constructor</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #2b91af;">String</span> requestString =</li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;">"http://api.bing.net/xml.aspx?AppId='YourAppId'&amp;Query={0}&amp;Sources=Web&amp;Version=2.0&amp;Market=en-us&amp;Adult=Strict"</span>;</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">string</span> UriNoAppId =</li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;">"http://api.bing.net/xml.aspx?AppId='YourAppId'&amp;Query={0}&amp;Sources=Web&amp;Version=2.0&amp;Market=en-us&amp;Adult=Strict"</span>;</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">public</span> MainPage()</li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;InitializeComponent();</li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #2b91af;">List</span>&lt;<span style="color: #0000ff;">string</span>&gt; searchTopics = <span style="color: #0000ff;">new</span> <span style="color: #2b91af;">List</span>&lt;<span style="color: #0000ff;">string</span>&gt;() { <span style="color: #a31515;">"Microsoft"</span>, <span style="color: #a31515;">"Silverlight"</span>, <span style="color: #a31515;">"Windows Phone 7"</span> };</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;comboBox1.DataContext = searchTopics;</li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;comboBox1.SelectedIndex = 0;</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000;">// Create the WebClient and associate a handler with the OpenReadCompleted event.</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;wc = <span style="color: #0000ff;">new</span> <span style="color: #2b91af;">WebClient</span>();</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;wc.OpenReadCompleted += <span style="color: #0000ff;">new</span> <span style="color: #2b91af;">OpenReadCompletedEventHandler</span>(wc_OpenReadCompleted);</li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000;">// Call the topic service at the Bing search site.</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #2b91af;">WebClient</span> wc;</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">private</span> <span style="color: #0000ff;">void</span> CallToWebService()</li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000;">// Call the OpenReadAsyc to make a get request, passing the url with the selected search string.</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;wc.OpenReadAsync(<span style="color: #0000ff;">new</span> <span style="color: #2b91af;">Uri</span>(<span style="color: #2b91af;">String</span>.Format(requestString, comboBox1.SelectedItem.ToString())));</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">void</span> wc_OpenReadCompleted(<span style="color: #0000ff;">object</span> sender, <span style="color: #2b91af;">OpenReadCompletedEventArgs</span> e)</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{</li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #2b91af;">XElement</span> resultXml;</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000;">// You should always check to see if an error occurred. In this case, the application</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000;">// simply returns.</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">if</span> (e.Error != <span style="color: #0000ff;">null</span>)</li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">return</span>;</li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">else</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #2b91af;">XNamespace</span> web = <span style="color: #a31515;">"http://schemas.microsoft.com/LiveSearch/2008/04/XML/web"</span>;</li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">try</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{</li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;resultXml = <span style="color: #2b91af;">XElement</span>.Load(e.Result);</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000;">// Search for the WebResult node and create a SearchResults object for each one.</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">var</span> searchResults =</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">from</span> result <span style="color: #0000ff;">in</span> resultXml.Descendants(web + <span style="color: #a31515;">"WebResult"</span>)</li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">select</span> <span style="color: #0000ff;">new</span> <span style="color: #2b91af;">SearchResult</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{</li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000;">// Get the Title, Description and Url values.</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Title = result.Element(web + <span style="color: #a31515;">"Title"</span>).Value,</li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Description = result.Element(web + <span style="color: #a31515;">"Description"</span>).Value,</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Url = result.Element(web + <span style="color: #a31515;">"Url"</span>).Value</li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;};</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000;">// Set the data context for the listbox to the results.</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;listBox1.DataContext = searchResults;</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">catch</span> (System.Xml.<span style="color: #2b91af;">XmlException</span> ex)</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{</li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;textBlock2.Text = ex.Message;</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">private</span> <span style="color: #0000ff;">void</span> button1_Click(<span style="color: #0000ff;">object</span> sender, <span style="color: #2b91af;">RoutedEventArgs</span> e)</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{</li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CallToWebService();</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000;">// Update the textblock as the combo box selection changes.</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">private</span> <span style="color: #0000ff;">void</span> comboBox1_SelectionChanged(<span style="color: #0000ff;">object</span> sender, <span style="color: #2b91af;">SelectionChangedEventArgs</span> e)</li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;uriTextBlock.DataContext = <span style="color: #0000ff;">string</span>.Format(UriNoAppId, e.AddedItems[0]);</li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;}</li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000;">// Simple class to hold the search results.</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">public</span> <span style="color: #0000ff;">class</span> <span style="color: #2b91af;">SearchResult</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;{</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">public</span> <span style="color: #0000ff;">string</span> Title { <span style="color: #0000ff;">get</span>; <span style="color: #0000ff;">set</span>; }</li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">public</span> <span style="color: #0000ff;">string</span> Url { <span style="color: #0000ff;">get</span>; <span style="color: #0000ff;">set</span>; }</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">public</span> <span style="color: #0000ff;">string</span> Description { <span style="color: #0000ff;">get</span>; <span style="color: #0000ff;">set</span>; }</li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;}</li>
<li>}</li>
</ol></div>
</div>
</div>
<p></p>
<div style="margin: 0px; display: inline; float: none; padding: 0px;" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:abca3e56-374a-49af-a5a5-c0991b3fe6e5" class="wlWriterEditableSmartContent">
<div style="border: #000080 1px solid; color: #000; font-family: 'Courier New', Courier, Monospace; font-size: 10pt;">
<div style="background: #000080; color: #fff; font-family: Verdana, Tahoma, Arial, sans-serif; font-weight: bold; padding: 2px 5px;">Visual Basic</div>
<div style="background: #ddd; max-height: 300px; overflow: auto;"><ol style="background: #ffffff; margin: 0 0 0 3em; padding: 0 0 0 5px;" start="1">
<li><span style="color: #0000ff;">Imports</span> System.Collections.Generic</li>
<li style="background: #f3f3f3;"><span style="color: #0000ff;">Imports</span> System.Linq</li>
<li><span style="color: #0000ff;">Imports</span> System.Net</li>
<li style="background: #f3f3f3;"><span style="color: #0000ff;">Imports</span> System.Windows</li>
<li><span style="color: #0000ff;">Imports</span> System.Windows.Controls</li>
<li style="background: #f3f3f3;"><span style="color: #0000ff;">Imports</span> System.Windows.Documents</li>
<li><span style="color: #0000ff;">Imports</span> System.Windows.Input</li>
<li style="background: #f3f3f3;"><span style="color: #0000ff;">Imports</span> System.Windows.Media</li>
<li><span style="color: #0000ff;">Imports</span> System.Windows.Media.Animation</li>
<li style="background: #f3f3f3;"><span style="color: #0000ff;">Imports</span> System.Windows.Shapes</li>
<li><span style="color: #0000ff;">Imports</span> Microsoft.Phone.Controls</li>
<li style="background: #f3f3f3;"><span style="color: #0000ff;">Imports</span> System.Xml.Linq</li>
<li><span style="color: #0000ff;">Namespace</span> WindowsPhoneApplication1</li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">Partial</span> <span style="color: #0000ff;">Public</span> <span style="color: #0000ff;">Class</span> <span style="color: #2b91af;">MainPage</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">Inherits</span> PhoneApplicationPage</li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000;">' Constructor</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">Private</span> requestString <span style="color: #0000ff;">As</span> <span style="color: #2b91af;">[String]</span> = <span style="color: #a31515;">"http://api.bing.net/xml.aspx?AppId='YourAppId'&amp;Query={0}&amp;Sources=Web&amp;Version=2.0&amp;Market=en-us&amp;Adult=Strict"</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">Private</span> UriNoAppId <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">String</span> = <span style="color: #a31515;">"http://api.bing.net/xml.aspx?AppId='YourAppId'&amp;Query={0}&amp;Sources=Web&amp;Version=2.0&amp;Market=en-us&amp;Adult=Strict"</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">Public</span> <span style="color: #0000ff;">Sub</span> <span style="color: #0000ff;">New</span>()</li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;InitializeComponent()</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">Dim</span> searchTopics <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">New</span> <span style="color: #2b91af;">List</span>(<span style="color: #0000ff;">Of</span> <span style="color: #0000ff;">String</span>)() <span style="color: #0000ff;">From</span> { _</li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;">"Microsoft"</span>, _</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;">"Silverlight"</span>, _</li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;">"Windows Phone 7"</span> _</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;comboBox1.DataContext = searchTopics</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;comboBox1.SelectedIndex = 0</li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000;">' Create the WebClient and associate a handler with the OpenReadCompleted event.</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;wc = <span style="color: #0000ff;">New</span> <span style="color: #2b91af;">WebClient</span>()</li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">AddHandler</span> wc.OpenReadCompleted, <span style="color: #0000ff;">New</span> <span style="color: #2b91af;">OpenReadCompletedEventHandler</span>(<span style="color: #0000ff;">AddressOf</span> wc_OpenReadCompleted)</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Sub</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000;">' Call the topic service at the Bing search site.</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">Private</span> wc <span style="color: #0000ff;">As</span> <span style="color: #2b91af;">WebClient</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">Private</span> <span style="color: #0000ff;">Sub</span> CallToWebService()</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000;">' Call the OpenReadAsyc to make a get request, passing the url with the selected search string.</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;wc.OpenReadAsync(<span style="color: #0000ff;">New</span> <span style="color: #2b91af;">Uri</span>(<span style="color: #2b91af;">[String]</span>.Format(requestString, comboBox1.SelectedItem.ToString())))</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Sub</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">Private</span> <span style="color: #0000ff;">Sub</span> wc_OpenReadCompleted(sender <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Object</span>, e <span style="color: #0000ff;">As</span> <span style="color: #2b91af;">OpenReadCompletedEventArgs</span>)</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">Dim</span> resultXml <span style="color: #0000ff;">As</span> <span style="color: #2b91af;">XElement</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000;">' You should always check to see if an error occurred. In this case, the application</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000;">' simply returns.</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">If</span> e.[Error] <span style="color: #0000ff;">IsNot</span> <span style="color: #0000ff;">Nothing</span> <span style="color: #0000ff;">Then</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">Return</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">Else</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">Dim</span> web <span style="color: #0000ff;">As</span> <span style="color: #2b91af;">XNamespace</span> = <span style="color: #a31515;">"http://schemas.microsoft.com/LiveSearch/2008/04/XML/web"</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">Try</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;resultXml = <span style="color: #2b91af;">XElement</span>.Load(e.Result)</li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000;">' Search for the WebResult node and create a SearchResults object for each one.</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000;">' Get the Title, Description and Url values.</span></li>
<li style="background: #f3f3f3;"><span style="color: #0000ff;">Dim</span> searchResults = <span style="color: #0000ff;">From</span> result <span style="color: #0000ff;">In</span> resultXml.Descendants(web &amp; <span style="color: #a31515;">"WebResult"</span>)New SearchResult() With { _</li>
<li>Key .Title = result.Element(web &amp; "Title").Value, _</li>
<li style="background: #f3f3f3;">Key .Description = result.Element(web &amp; "Description").Value, _</li>
<li>Key .Url = result.Element(web &amp; "Url").Value _</li>
<li style="background: #f3f3f3;">}</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000;">' Set the data context for the listbox to the results.</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;listBox1.DataContext = searchResults</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">Catch</span> ex <span style="color: #0000ff;">As</span> System.Xml.<span style="color: #2b91af;">XmlException</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;textBlock2.Text = ex.Message</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Try</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">End</span> <span style="color: #0000ff;">If</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Sub</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">Private</span> <span style="color: #0000ff;">Sub</span> button1_Click(sender <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Object</span>, e <span style="color: #0000ff;">As</span> <span style="color: #2b91af;">RoutedEventArgs</span>)</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CallToWebService()</li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Sub</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000;">' Update the textblock as the combo box selection changes.</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">Private</span> <span style="color: #0000ff;">Sub</span> comboBox1_SelectionChanged(sender <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Object</span>, e <span style="color: #0000ff;">As</span> <span style="color: #2b91af;">SelectionChangedEventArgs</span>)</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;uriTextBlock.DataContext = <span style="color: #0000ff;">String</span>.Format(UriNoAppId, e.AddedItems(0))</li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Sub</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Class</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000;">' Simple class to hold the search results.</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">Public</span> <span style="color: #0000ff;">Class</span> <span style="color: #2b91af;">SearchResult</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">Public</span> <span style="color: #0000ff;">Property</span> Title() <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">String</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">Get</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">Return</span> m_Title</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Get</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">Set</span>(value <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">String</span>)</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_Title = Value</li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Set</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Property</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">Private</span> m_Title <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">String</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">Public</span> <span style="color: #0000ff;">Property</span> Url() <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">String</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">Get</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">Return</span> m_Url</li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Get</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">Set</span>(value <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">String</span>)</li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_Url = Value</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Set</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Property</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">Private</span> m_Url <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">String</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">Public</span> <span style="color: #0000ff;">Property</span> Description() <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">String</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">Get</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">Return</span> m_Description</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Get</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">Set</span>(value <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">String</span>)</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_Description = Value</li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Set</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Property</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">Private</span> m_Description <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">String</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Class</span></li>
<li style="background: #f3f3f3;"><span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Namespace</span></li>
</ol></div>
</div>
</div>
<p>&nbsp;</p>
<h2><a name="networkConnectivity"></a>D&eacute;tecter la connectivit&eacute; r&eacute;seau</h2>
<p>Pour obtenir une bonne exp&eacute;rience utilisateur, vous devez v&eacute;rifier que le t&eacute;l&eacute;phone dispose d&rsquo;une connexion &agrave; Internet avant de tenter un appel de service web. Vous pouvez utiliser la m&eacute;thode <a href="http://msdn.microsoft.com/en-us/library/system.net.networkinformation.networkinterface.getisnetworkavailable(v=VS.95).aspx">NetworkInterface.GetIsNetworkAvailable</a> pour connaitre l&rsquo;&eacute;tat de la connexion &agrave; Internet. Si le retour est la valeur false, vous devrez alors soit afficher un message &agrave; l&rsquo;utilisateur pour lui demander de se connecter &agrave; un r&eacute;seau, ou informer l&rsquo;utilisateur que les appels aux services web ne peuvent &ecirc;tre effectu&eacute;s. Pour un exemple d&rsquo;utilisation de cette m&eacute;thode, jetez un &oelig;il &agrave; <a href="http://msdn.microsoft.com/en-us/library/system.net.networkinformation.networkinterface.getisnetworkavailable(v=VS.95).aspx">NetworkInterface.GetIsNetworkAvailable</a>.</p>
<p>Note</p>
<p>Un appel &agrave; la m&eacute;thode <a href="http://msdn.microsoft.com/en-us/library/system.net.networkinformation.networkinterface.getisnetworkavailable(v=VS.95).aspx">NetworkInterface.GetIsNetworkAvailable</a> peut retourner la valeur <i>true</i> sur l&rsquo;&eacute;mulateur m&ecirc;me si aucune connectivit&eacute; n&rsquo;est disponible, vous devrez donc tester votre code sur un t&eacute;l&eacute;phone.</p>
<p>A Voir</p>
<ul>
<li><a href="http://msdn.microsoft.com/en-us/library/cc645029(v=VS.95).aspx">Networking and Web Services</a></li>
<li><a href="http://en.wikipedia.org/wiki/Representational_State_Transfer">Representational State Transfer</a></li>
</ul>
<p>&nbsp;</p>
<hr />
<p><a href="#sommaire">Cliquez ici pour revenir au sommaire de la liste d&rsquo;articles</a></p>]]></content:encoded>
    </item>
    <item>
      <title>Developpement Windows Phone - partie 19</title>
      <link>https://docs.microsoft.com/archive/blogs/jflavidalle/developpement-windows-phone-partie-19</link>
      <pubDate>Tue, 06 Sep 2011 13:19:00 GMT</pubDate>
      <dc:creator><![CDATA[JFLavidalle]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/jflavidalle/2011/09/06/developpement-windows-phone-partie-19/</guid>
      <description><![CDATA[Cet article fait partie d&rsquo;une s&eacute;rie d&rsquo;articles sur le d&eacute;veloppement...]]></description>
      <content:encoded><![CDATA[<p>Cet article fait partie d&rsquo;une s&eacute;rie d&rsquo;articles sur le d&eacute;veloppement Windows Phone. Il s&rsquo;agit d&rsquo;une traduction des articles se trouvant <a href="http://create.msdn.com/en-us/education/quickstarts" target="_blank">sur la MSDN</a>.</p>
<p><a name="sommaire"></a>Sommaire</p>
<p><strong>Bien d&eacute;buter et fondamentaux</strong></p>
<ul>
<li><a href="http://blogs.msdn.com/b/jflavidalle/archive/2011/09/06/developpement-windows-phone-partie-1.aspx" target="_blank">Bien d&eacute;marrer (Hello World)</a></li>
<li><a href="http://blogs.msdn.com/b/lgmorand/archive/2011/09/06/developpement-windows-phone-partie-2.aspx" target="_blank">Cr&eacute;er une interface utilisateur pour Windows Phone en XAML</a></li>
<li><a href="http://blogs.msdn.com/b/patrick_payet/archive/2011/09/06/developpement-windows-phone-partie-3.aspx" target="_blank">Utiliser des contr&ocirc;les</a></li>
<li><a href="http://blogs.msdn.com/b/jflavidalle/archive/2011/09/06/developpement-windows-phone-partie-4.aspx" target="_blank">Types de contr&ocirc;les</a></li>
<li><a href="http://blogs.msdn.com/b/lgmorand/archive/2011/09/06/developpement-windows-phone-partie-5.aspx" target="_blank">Contr&ocirc;les Panorama et Pivot</a></li>
<li><a href="http://blogs.msdn.com/b/patrick_payet/archive/2011/09/06/developpement-windows-phone-partie-6.aspx" target="_blank">Travailler avec du texte sur le Windows Phone</a></li>
<li><a href="http://blogs.msdn.com/b/jflavidalle/archive/2011/09/06/developpement-windows-phone-partie-7.aspx" target="_blank">Mise en page sur l&rsquo;&eacute;cran</a></li>
<li><a href="http://blogs.msdn.com/b/lgmorand/archive/2011/09/06/developpement-windows-phone-partie-8.aspx" target="_blank">Orientations de l&rsquo;&eacute;cran</a></li>
<li><a href="http://blogs.msdn.com/b/patrick_payet/archive/2011/09/06/developpement-windows-phone-partie-9.aspx" target="_blank">Saisie tactile</a></li>
<li><a href="http://blogs.msdn.com/b/jflavidalle/archive/2011/09/06/developpement-windows-phone-partie-10.aspx" target="_blank">Navigation</a></li>
<li><a href="http://blogs.msdn.com/b/lgmorand/archive/2011/09/06/developpement-windows-phone-partie-11.aspx" target="_blank">Ex&eacute;cuter votre application en arri&egrave;re-plan (tombstoning)</a></li>
<li><a href="http://blogs.msdn.com/b/patrick_payet/archive/2011/09/06/developpement-windows-phone-partie-12.aspx" target="_blank">Notifications Push pour le d&eacute;veloppement Windows Phone</a></li>
<li><a href="http://blogs.msdn.com/b/jflavidalle/archive/2011/09/06/developpement-windows-phone-partie-13.aspx" target="_blank">Publier votre application sur le Marketplace</a></li>
</ul>
<p><strong>Visuels et m&eacute;dia</strong></p>
<ul>
<li><a href="http://blogs.msdn.com/b/lgmorand/archive/2011/09/06/developpement-windows-phone-partie-14.aspx" target="_blank">Images</a></li>
<li><a href="http://blogs.msdn.com/b/patrick_payet/archive/2011/09/06/developpement-windows-phone-partie-15.aspx" target="_blank">Animations</a></li>
<li><a href="http://blogs.msdn.com/b/jflavidalle/archive/2011/09/06/developpement-windows-phone-partie-16.aspx" target="_blank">Vid&eacute;o et Audio</a></li>
<li><a href="http://blogs.msdn.com/b/lgmorand/archive/2011/09/06/developpement-windows-phone-partie-17.aspx" target="_blank">Graphiques</a></li>
<li><a href="http://blogs.msdn.com/b/patrick_payet/archive/2011/09/06/developpement-windows-phone-partie-18.aspx" target="_blank">Pinceaux</a></li>
</ul>
<p><strong>Travailler avec les donn&eacute;es</strong></p>
<ul>
<li><a href="http://blogs.msdn.com/b/jflavidalle/archive/2011/09/06/developpement-windows-phone-partie-19.aspx" target="_blank">Obtenir des donn&eacute;es dans vos applications Windows Phone</a></li>
<li><a href="http://blogs.msdn.com/b/lgmorand/archive/2011/09/06/developpement-windows-phone-partie-20.aspx" target="_blank">Data binding</a></li>
<li><a href="http://blogs.msdn.com/b/patrick_payet/archive/2011/09/06/developpement-windows-phone-partie-21.aspx" target="_blank">Isolated storage</a></li>
<li><a href="http://blogs.msdn.com/b/jflavidalle/archive/2011/09/06/developpement-windows-phone-partie-22.aspx" target="_blank">Acc&eacute;der &agrave; un service Web REST</a></li>
<li><a href="http://blogs.msdn.com/b/lgmorand/archive/2011/09/06/developpement-windows-phone-partie-23.aspx" target="_blank">Consommer des donn&eacute;es Windows Azure</a></li>
</ul>
<p><strong>Sondes et autres fonctionnalit&eacute;s sp&eacute;cifiques au t&eacute;l&eacute;phone</strong></p>
<ul>
<li><a href="http://blogs.msdn.com/b/patrick_payet/archive/2011/09/06/developpement-windows-phone-partie-24.aspx" target="_blank">Lanceurs et choosers</a></li>
<li><a href="http://blogs.msdn.com/b/jflavidalle/archive/2011/09/06/developpement-windows-phone-partie-25.aspx" target="_blank">D&eacute;tecter des mouvements (acc&eacute;l&eacute;rom&egrave;tres)</a></li>
<li><a href="http://blogs.msdn.com/b/lgmorand/archive/2011/09/06/developpement-windows-phone-partie-26.aspx" target="_blank">D&eacute;velopper avec le GPS Windows Phone (Services de localisation)</a></li>
<li><a href="http://blogs.msdn.com/b/patrick_payet/archive/2011/09/06/developpement-windows-phone-partie-27.aspx" target="_blank">D&eacute;velopper avec l&rsquo;appareil photo du Windows Phone</a></li>
</ul>
<hr />
<h1>R&eacute;cup&eacute;rer des donn&eacute;es dans vos Applications Windows Phone</h1>
<p>Il existe plusieurs fa&ccedil;ons de stocker et r&eacute;cup&eacute;rer des donn&eacute;es dans vos applications Silverlight pour Windows Phone 7 applications. Ce tutoriel va vous donner des pistes pour d&eacute;terminer quelle approche est la plus adapt&eacute;e en fonction de vos pr&eacute;requis. De plus, ce tutoriel contient des liens vers d&rsquo;autres sujets contenant plus d&rsquo;informations.</p>
<p>Ce tutoriel contient les sections suivantes :</p>
<ul>
<li><a href="http://blogs.msdn.com/b/jflavidalle/archive/2011/09/06/developpement-windows-phone-partie-19.aspx#DataSources">Sources de Donn&eacute;es</a></li>
<li><a href="http://blogs.msdn.com/b/jflavidalle/archive/2011/09/06/developpement-windows-phone-partie-19.aspx#LocalFiles">Fichiers Locaux</a></li>
<li><a href="http://blogs.msdn.com/b/jflavidalle/archive/2011/09/06/developpement-windows-phone-partie-19.aspx#IsolatedStorage">Isolated Storage</a></li>
<li><a href="http://blogs.msdn.com/b/jflavidalle/archive/2011/09/06/developpement-windows-phone-partie-19.aspx#WebServiceTerminology">Terminologie des Web Services</a></li>
<li><a href="http://blogs.msdn.com/b/jflavidalle/archive/2011/09/06/developpement-windows-phone-partie-19.aspx#WebServiceTechnologies">Technologies des Web Services</a></li>
<li><a href="http://blogs.msdn.com/b/jflavidalle/archive/2011/09/06/developpement-windows-phone-partie-19.aspx#DecidingWhichApproach">Choisir l&rsquo;Approche &agrave; Utiliser</a></li>
</ul>
<p><a name="DataSources"></a></p>
<h2><a name="DataSources"></a>Sources de Donn&eacute;es</h2>
<p>Les donn&eacute;es peuvent &ecirc;tre pr&eacute;sentes &agrave; plusieurs endroits. Par exemple, des donn&eacute;es en lecture seule peuvent &ecirc;tre stock&eacute;es dans un fichier local dans vos applications. Les donn&eacute;es sp&eacute;cifiques &agrave; l&rsquo;utilisateur de l&rsquo;application peuvent &ecirc;tre stock&eacute;es dans un endroit appel&eacute; l&rsquo;isolated storage ou bien les donn&eacute;es peuvent &ecirc;tre stock&eacute;es sur internet et accessibles &agrave; travers un web services.</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/42/87/metablogapi/1641.clip_image003[1].jpg" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-42-87-metablogapi/1641.clip_5F00_image003_5B00_1_5D00_.jpg"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="clip_image003[1]" border="0" alt="clip_image003[1]" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/42/87/metablogapi/1856.clip_image003[1]_thumb.jpg" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-42-87-metablogapi/1856.clip_5F00_image003_5B00_1_5D005F00_thumb.jpg" width="714" height="392" /></a></p>
<h2><a name="LocalFiles"></a>Fichiers Locaux</h2>
<p>Vous pouvez utiliser des fichiers, comme des fichiers texte ou XML, pour stocker des donn&eacute;es en lecture seule localement. Les fichiers locaux peuvent &ecirc;tre compil&eacute;s en tant que ressources (Resources Files) ou fichiers de contenu (Content Files).</p>
<p><b>Fichiers de ressource</b></p>
<p>Les fichiers de ressource sont contenus dans l&rsquo;assembly du projet. Vous pouvez utiliser des fichiers de ressource dans vos projets d&rsquo;applications et de librairies, et ensuite d&eacute;ployer vos assemblies &agrave; l&rsquo;int&eacute;rieur ou encore &agrave; l&rsquo;ext&eacute;rieur de votre package d&rsquo;application (.xap). L&rsquo;avantage d&rsquo;un fichier de ressource est que le fichier sera toujours disponible depuis l&rsquo;application. Toutefois, votre application mettra peut-&ecirc;tre un peu plus de temps &agrave; d&eacute;marrer lorsque vous utilisez ce type de fichier. Vous indiquez qu&rsquo;un fichier est un fichier de ressource en affectant sa propri&eacute;t&eacute; <b>Build Action</b> dans Visual Studio &agrave; <b>Resource</b>. Vous pouvez acc&eacute;der &agrave; un fichier de ressource en utilisant la m&eacute;thode <a href="http://msdn.microsoft.com/en-us/library/system.windows.application.getresourcestream(VS.95).aspx">Application.GetResourceStream</a>. Par exemple, allez voir <a href="http://msdn.microsoft.com/en-us/library/system.windows.application.getresourcestream(VS.95).aspx">Application.GetResourceStream</a>.</p>
<p>Vous utiliserez un fichier de ressource lorsque vous aurez typiquement les conditions suivantes :</p>
<ul>
<li>Le temps de d&eacute;marrage de l&rsquo;application n&rsquo;est pas important.</li>
<li>Vous n&rsquo;aurez pas besoin de mettre &agrave; jour le contenu du resource file apr&egrave;s qu&rsquo;il ait &eacute;t&eacute; compil&eacute; dans l&rsquo;assembly.</li>
<li>Vous souhaitez simplifier la distribution de l&rsquo;application en diminuant le nombre de d&eacute;pendances.</li>
</ul>
<p><b>Fichiers de contenu</b></p>
<p>Pour des raisons de performances, les fichiers de contenu sont souvent pr&eacute;f&eacute;r&eacute;s aux fichiers de ressources dans les applications pour Windows Phone. Les fichiers de contenu sont inclus dans le package de vos applications (.xap) sans &ecirc;tre inclus dans une assembly. Si ils ne sont pas compil&eacute;s dans une assemby, les assemblies sont compil&eacute;es avec des metadatas contenant une association avec chaque fichier de contenu. Les fichiers de contenu peuvent &ecirc;tre partag&eacute;s par plusieurs assemblies d&rsquo;un m&ecirc;me package. Vous indiquez qu&rsquo;un fichier est une fichier de contenu en affectant sa propri&eacute;t&eacute; <b>Build Action</b> dans Visual Studio &agrave; <b>Content</b>. Vous pouvez acc&eacute;der &agrave; un fichier de contenu &agrave; partir du fichier du package de l&rsquo;application. Pour voir un exemple qui utilise la m&eacute;thode <a href="http://msdn.microsoft.com/en-us/library/system.xml.linq.xelement.load(v=VS.95).aspx">XElement.Load</a> pour acc&eacute;der &agrave; un fichier de contenu, jetez un &oelig;il &agrave; <a href="http://go.microsoft.com/fwlink/?LinkId=208539">Loading an XML File topic</a>.</p>
<p>Vous utiliserez une fichier de contenu lorsque vous aurez typiquement les conditions suivantes :</p>
<ul>
<li>Vous voulez pouvoir mettre &agrave; jour le contenu du fichier de contenu sans avoir besoin de recompiler l&rsquo;assembly qui l&rsquo;utilise.</li>
<li>Le temps de d&eacute;marrage de l&rsquo;application est un crit&egrave;re important.</li>
</ul>
<p><a name="IsolatedStorage"></a></p>
<h2><a name="IsolatedStorage"></a>Isolated Storage</h2>
<p>Si vous avez besoin de stocker et r&eacute;cup&eacute;rer des informations sp&eacute;cifiques &agrave; l&rsquo;utilisateur, vous pouvez utiliser l&rsquo;isolated storage. Dans les applications Silverlight pour Windows Phone, il n&rsquo;y a pas d&rsquo;acc&egrave;s direct au syst&egrave;me de fichier du syst&egrave;me d&rsquo;exploitation. Toutefois, vous pouvez utiliser l&rsquo;isolated storage pour stocker et r&eacute;cup&eacute;rer des donn&eacute;es localement sur le t&eacute;l&eacute;phone de l&rsquo;utilisateur. Il y a deux fa&ccedil;ons d&rsquo;utiliser l&rsquo;isolated storage. La premi&egrave;re fa&ccedil;on est de sauvegarder et r&eacute;cup&eacute;rer les donn&eacute;es sous forme de clef/valeur en utilisant la classe <a href="http://msdn.microsoft.com/en-us/library/system.io.isolatedstorage.isolatedstoragesettings(VS.95).aspx">IsolatedStorageSettings</a>. La seconde fa&ccedil;on est de sauvegarder et r&eacute;cup&eacute;rer des fichiers en utilisant la classe <a href="http://msdn.microsoft.com/en-us/library/system.io.isolatedstorage.isolatedstoragefile(v=VS.95).aspx">IsolatedStorageFile</a>. Pour plus d&rsquo;information sur comment utiliser l&rsquo;isolated storage, jetez un &oelig;il &agrave; <a href="http://blogs.msdn.com/b/patrick_payet/archive/2011/09/06/developpement-windows-phone-partie-21.aspx">Isolated Storage QuickStart</a>.</p>
<p><a name="WebServiceTerminology"></a></p>
<h2><a name="WebServiceTerminology"></a>Terminologie des Web Services</h2>
<p>Travailler avec des services web peut &ecirc;tre perturbant &agrave; cause des diff&eacute;rents types de services, formats, et technologies. Il est pr&eacute;f&eacute;rable d&rsquo;avoir une connaissance m&ecirc;me basique de la terminologie utilis&eacute;e. Le tableau ci-dessous contient quelques termes qui sont utilis&eacute;s lorsque l&rsquo;on fait r&eacute;f&eacute;rence &agrave; des services web.</p>
<table border="0" cellspacing="3" cellpadding="0">
<tbody>
<tr>
<td>
<p><b>Terme</b></p>
</td>
<td>
<p><b>Description</b></p>
</td>
</tr>
<tr>
<td>
<p><a href="http://msdn.microsoft.com/en-us/library/ms996507.aspx">web service</a></p>
</td>
<td>
<p>Bloc logique qui fournit des donn&eacute;es et services &agrave; d&rsquo;autres applications. Les applications acc&egrave;dent &agrave; des web services en utilisant les protocoles et formats de donn&eacute;es standards du web tels que HTTP, XML, and SOAP, et ce ind&eacute;pendamment de l&rsquo;impl&eacute;mentation de chaque web service.</p>
</td>
</tr>
<tr>
<td>
<p><a href="http://en.wikipedia.org/wiki/Representational_State_Transfer">REST</a></p>
</td>
<td>
<p>(Representational State Transfer Protocol) Un protocole pour exposer des ressources sur le web accessible par des clients.</p>
</td>
</tr>
<tr>
<td>
<p><a href="http://en.wikipedia.org/wiki/Plain_Old_XML">POX</a></p>
</td>
<td>
<p>(Plain Old XML) Un terme utilis&eacute; pour d&eacute;crire du simple XML.</p>
</td>
</tr>
<tr>
<td>
<p><a href="http://json.org/">JSON</a></p>
</td>
<td>
<p>(JavaScript Object Notation) Un format concis pour l&rsquo;&eacute;change de donn&eacute;es. Il a &eacute;t&eacute; d&eacute;sign&eacute; pour &ecirc;tre lisible par un &ecirc;tre humain, mais aussi pars&eacute; simplement par un ordinateur.</p>
</td>
</tr>
<tr>
<td>
<p><a href="http://msdn.microsoft.com/en-us/data/ee844254.aspx">OData</a></p>
</td>
<td>
<p>(Open Data Protocol) Un protocole web pour requ&ecirc;ter et mettre &agrave; jour des donn&eacute;es.</p>
</td>
</tr>
<tr>
<td>
<p><a href="http://www.w3.org/TR/soap12-part1/">SOAP</a></p>
</td>
<td>
<p>(Simple Object Access Protocol) Un protocole concis pour &eacute;changer des donn&eacute;es structur&eacute;es dans un environnement distribu&eacute;.</p>
<p>.</p>
</td>
</tr>
</tbody>
</table>
<h2><a name="WebServiceTechnologies"></a>Technologies des Web Services</h2>
<p>Il y a de nombreuses technologies r&eacute;seaux et Web services que vous pouvez utiliser pour consommer des donn&eacute;es dans vos applications Silverlight pour Windows Phone. Ces technologies contiennent :</p>
<ul>
<li>Classes HTTP</li>
<li>Services WCF</li>
<li>WCF Data Services (OData services)</li>
<li>Windows Azure Services</li>
</ul>
<p><b>Classes HTTP</b></p>
<p>Vous pouvez acc&eacute;der &agrave; des web services ou des ressources sur un serveur directement depuis une application Silverlight pour Windows Phone en utilisant les classes <a href="http://msdn.microsoft.com/en-us/library/system.net.httpwebrequest(VS.95).aspx">HttpWebRequest</a>/<a href="http://msdn.microsoft.com/en-us/library/system.net.httpwebresponse(VS.95).aspx">HttpWebResponse</a> ou <a href="http://msdn.microsoft.com/en-us/library/system.net.webclient(VS.95).aspx">WebClient</a> dans le namespace <a href="http://msdn.microsoft.com/en-us/library/btdf6a7e(v=VS.95).aspx">System.Net</a>. Ces classes fournissent l&rsquo;ensemble des fonctionnalit&eacute;s requises pour envoyer n&rsquo;importe quel type de requ&ecirc;te sur n&rsquo;importe quel web service disponible avec le protocole HTTP. Silverlight n&rsquo;offre pas la possibilit&eacute; d&rsquo;h&eacute;berger des services bas&eacute;s sur HTTP, ces classes sont donc utilis&eacute;es lorsque l&rsquo;application sur le t&eacute;l&eacute;phone acc&egrave;de &agrave; des services web existants. Vous utiliserez ces classes lorsque le service HHTP que vous voulez utiliser est h&eacute;berg&eacute; par une autre personne, que vous n&rsquo;avez pas la main dessus et que ce service utilise le format XML ou JSON. Gardez toutefois &agrave; l&rsquo;esprit que la s&eacute;rialisation JSON est limit&eacute;e sur Windows Phone. Vous pouvez utiliser ces classes pour construire une requ&ecirc;te, en assurant ainsi que la requ&ecirc;te suit le format attendu par le service. Si toutefois vous cr&eacute;ez le service en vous basant sur un mod&egrave;le de donn&eacute;es existant, Silverlight offre des solutions compl&egrave;tes plus productives en utilisant WCF, tel que d&eacute;crit dans la prochaine section. Pour plus d&rsquo;information sur l&rsquo;utilisation de la classe <a href="http://msdn.microsoft.com/en-us/library/system.net.webclient(VS.95).aspx">WebClient</a> pour acc&eacute;der &agrave; des services web, jetez un &oelig;il &agrave; <a href="http://go.microsoft.com/fwlink/?LinkId=208538">Building a REST Web Service Client QuickStart</a>. Pour plus d&rsquo;informations sur les restrictions de s&eacute;curit&eacute; et l&rsquo;acc&egrave;s aux services web en utilisant les classes <a href="http://msdn.microsoft.com/en-us/library/system.net.httpwebrequest(VS.95).aspx">HttpWebRequest</a>/<a href="http://msdn.microsoft.com/en-us/library/system.net.httpwebresponse(VS.95).aspx">HttpWebResponse</a> ou <a href="http://msdn.microsoft.com/en-us/library/system.net.webclient(VS.95).aspx">WebClient</a> , jetez un &oelig;il &agrave; <a href="http://msdn.microsoft.com/en-us/library/ff637518(VS.92).aspx">Connecting to Web and Data Services for Windows Phone</a> et <a href="http://msdn.microsoft.com/en-us/library/cc838250(VS.95).aspx">HTTP Communication and Security with Silverlight</a>.</p>
<p><b>Services WCF</b></p>
<p>Windows Communication Foundation (WCF) est un framework pour cr&eacute;er et acc&eacute;der &agrave; des services web. WCF vous permet d&rsquo;exposer une classe en tant que service et d&rsquo;&eacute;changer des objets entre Silverlight et ce service. Dans un application Silverlight pour Windows Phone vous pouvez utiliser SLsvcUtil.exe ou utiliser la fonction Add Service Reference de Visual Studio pour g&eacute;n&eacute;rer un proxy local pour le service. Pour plus d&rsquo;information, jetez un &oelig;il &agrave; <a href="http://msdn.microsoft.com/en-us/library/ff637320(VS.95).aspx#WCFinSilverlightforWindowsPhone">Networking in Silverlight for Windows Phone</a>. Pour plus d&rsquo;information sur l&rsquo;utilisation de l&rsquo;outil SLsvcUtil, jetez un &oelig;il sur <a href="http://msdn.microsoft.com/en-us/library/cc197958(VS.95).aspx">Using SLsvcUtil.exe to Access a Service</a>. Le proxy vous permet d&rsquo;acc&eacute;der au service &agrave; travers une classe locale. Les services WCF supportent plusieurs protocoles (dont HTTP et TCP) et de nombreux formats, tels que SOAP, XML et Atom. Pour plus d&rsquo;information, jetez un &oelig;il &agrave; <a href="http://msdn.microsoft.com/en-us/library/cc197937(VS.95).aspx">How to: Access a Service from Silverlight</a>.</p>
<p><b>WCF Data Services (OData services)</b></p>
<p>WCF Data Services, anciennement appel&eacute; ADO.NET Data services, est un framework vous permettant d&rsquo;acc&eacute;der &agrave; des donn&eacute;es de votre mod&egrave;le de donn&eacute;e existant sous forme de ressources REST (representational state transfer). WCF Data Services expose les donn&eacute;es sous forme de flux ODATA (Open Data Protocol). En plus de cela, et si votre application Silverlight pour Windows Phone interagit avec Sharepoint, Sharepoint 2010 expose ses donn&eacute;es en tant que WCF Data Services. WCF Data Services g&egrave;re tout le m&eacute;canisme de communication HTTP, de s&eacute;rialisation ainsi que d&rsquo;autres t&acirc;ches qui doivent &ecirc;tre habituellement mises en &oelig;uvre lorsqu&rsquo;un mod&egrave;le de donn&eacute;es doit &ecirc;tre expos&eacute; &agrave; travers un service. Cela veut dire que vos applications peuvent acc&eacute;der &agrave; ces donn&eacute;es &agrave; travers le protocole HTTP standard pour ex&eacute;cuter des requet&eacute;s ainsi que cr&eacute;er, mettre &agrave; jour et supprimer des donn&eacute;es &agrave; travers WCF Data Service, y compris entre diff&eacute;rents domaines. Les fonctionnalit&eacute;s ODATA pour Windows Phone sont inclues dans la <a href="http://odata.codeplex.com/releases/view/54698">biblioth&egrave;que Client OData sur Codeplex</a>. Pour plus d&rsquo;information sur la fa&ccedil;on de g&eacute;n&eacute;rer un proxy et d&rsquo;&eacute;crire un client pour un service ODATA, jetez un &oelig;il &agrave; <a href="http://msdn.microsoft.com/en-us/library/gg521146(VS.92).aspx">Open Data Protocol (OData) Overview for Windows Phone</a> et <a href="http://msdn.microsoft.com/en-us/library/gg521145(VS.92).aspx">How to: Consume an OData Service for Windows Phone</a>.</p>
<p><b>Windows Azure Storage Services</b></p>
<p>Vous pouvez utiliser Windows Azure pour stocker et r&eacute;cup&eacute;rer des donn&eacute;es que vous voulez utiliser dans vos applications Windows Phone, cela est particuli&egrave;rement utile quand on sait que l&rsquo;espace de stockage sur le t&eacute;l&eacute;phone st limit&eacute;. La plateforme Windows Azure fournit plusieurs options pour stocker des donn&eacute;es pour des applications Windows Phone. Windows Azure storage fournit un espace de stockage persistant et durable dans le cloud et pouvant augmenter ou diminuer sa disponibilit&eacute; en fonction de la demande. La fa&ccedil;on d&rsquo;acc&eacute;der au Windows Azure storage est tr&egrave;s similaire &agrave; la fa&ccedil;on d&rsquo;acc&eacute;der &agrave; un service web. Pour plus d&rsquo;information sur l&rsquo;utilisation de Windows Azure storage services dans vos applications Windows Phone, jetez un &oelig;il &agrave; <a href="http://msdn.microsoft.com/en-us/library/gg521149(VS.92).aspx">Storing Data in the Windows Azure Platform for Windows Phone</a>.</p>
<p><a name="DecidingWhichApproach"></a></p>
<h2>Choisir l&rsquo;approche &agrave; utiliser</h2>
<p>Une fois que vous connaitrez les pr&eacute;requis de votre application, vous pourrez d&eacute;cider quelle est l&rsquo;approche la plus adapt&eacute;e. Le tableau ci-dessous donne une liste de sc&eacute;narios et l&rsquo;approche recommand&eacute;e.</p>
<table border="0" cellspacing="3" cellpadding="0">
<tbody>
<tr>
<td>
<p><b>Scenario</b></p>
</td>
<td>
<p><b>Approche Recommand&eacute;e</b></p>
</td>
</tr>
<tr>
<td>
<p>Vous voulez inclure des donn&eacute;es en lecture seule dans l&rsquo;assembly.</p>
</td>
<td>
<p>Fichier de ressource locale</p>
</td>
</tr>
<tr>
<td>
<p>Vous voulez mettre &agrave; jour des donn&eacute;es en lecture seule sans recompiler.</p>
</td>
<td>
<p>Fichier de contenu local</p>
</td>
</tr>
<tr>
<td>
<p>Vous voulez stocker des donn&eacute;es propres &agrave; l&rsquo;utilisateur.</p>
</td>
<td>
<p>Isolated storage</p>
</td>
</tr>
<tr>
<td>
<p>Vous voulez acc&eacute;der &agrave; des donn&eacute;es d&rsquo;un service externe en REST ou en POX.</p>
</td>
<td>
<p>Classes HTTP</p>
</td>
</tr>
<tr>
<td>
<p>Vous voulez acc&eacute;der &agrave; un flux RSS.</p>
</td>
<td>
<p>Classes HTTP</p>
</td>
</tr>
<tr>
<td>
<p>Vous voulez acc&eacute;der &agrave; un service SOAP.</p>
</td>
<td>
<p>Services WCF, en utilisant un proxy</p>
</td>
</tr>
<tr>
<td>
<p>Vous voulez exposer une classe existante &agrave; travers un service pour l&rsquo;utiliser depuis Silverlight.</p>
</td>
<td>
<p>Services WCF</p>
</td>
</tr>
<tr>
<td>
<p>Vous voulez acc&eacute;der &agrave; des donn&eacute;es depuis un service qui expose un flux OData.</p>
</td>
<td>
<p>WCF Data Services</p>
</td>
</tr>
<tr>
<td>
<p>Vous avez besoin de stocker et lire une grande quantit&eacute; de donn&eacute;es.</p>
</td>
<td>
<p>Windows Azure storage services</p>
</td>
</tr>
</tbody>
</table>
<p>A Voir</p>
<ul>
<li><a href="http://blogs.msdn.com/b/lgmorand/archive/2011/09/06/developpement-windows-phone-partie-20.aspx">Data Binding to Controls QuickStart</a></li>
<li><a href="http://msdn.microsoft.com/en-us/library/ff637320(VS.95).aspx#WCFinSilverlightforWindowsPhone">Networking in Silverlight for Windows Phone</a></li>
<li><a href="http://msdn.microsoft.com/en-us/library/cc645029(v=VS.95).aspx">Networking and Web Services</a></li>
</ul>
<p>&nbsp;</p>
<hr />
<p><a href="#sommaire">Cliquez ici pour revenir au sommaire de la liste d&rsquo;articles</a></p>]]></content:encoded>
    </item>
    <item>
      <title>Developpement Windows Phone - partie 16</title>
      <link>https://docs.microsoft.com/archive/blogs/jflavidalle/developpement-windows-phone-partie-16</link>
      <pubDate>Tue, 06 Sep 2011 13:16:00 GMT</pubDate>
      <dc:creator><![CDATA[JFLavidalle]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/jflavidalle/2011/09/06/developpement-windows-phone-partie-16/</guid>
      <description><![CDATA[Cet article fait partie d&rsquo;une s&eacute;rie d&rsquo;articles sur le d&eacute;veloppement...]]></description>
      <content:encoded><![CDATA[<p>Cet article fait partie d&rsquo;une s&eacute;rie d&rsquo;articles sur le d&eacute;veloppement Windows Phone. Il s&rsquo;agit d&rsquo;une traduction des articles se trouvant <a href="http://create.msdn.com/en-us/education/quickstarts" target="_blank">sur la MSDN</a>.</p>
<p><a name="sommaire"></a>Sommaire</p>
<p><strong>Bien d&eacute;buter et fondamentaux</strong></p>
<ul>
<li><a href="http://blogs.msdn.com/b/jflavidalle/archive/2011/09/06/developpement-windows-phone-partie-1.aspx" target="_blank">Bien d&eacute;marrer (Hello World)</a></li>
<li><a href="http://blogs.msdn.com/b/lgmorand/archive/2011/09/06/developpement-windows-phone-partie-2.aspx" target="_blank">Cr&eacute;er une interface utilisateur pour Windows Phone en XAML</a></li>
<li><a href="http://blogs.msdn.com/b/lgmorand/archive/2011/09/06/developpement-windows-phone-partie-3.aspx" target="_blank">Utiliser des contr&ocirc;les</a></li>
<li><a href="http://blogs.msdn.com/b/jflavidalle/archive/2011/09/06/developpement-windows-phone-partie-4.aspx" target="_blank">Types de contr&ocirc;les</a></li>
<li><a href="http://blogs.msdn.com/b/lgmorand/archive/2011/09/06/developpement-windows-phone-partie-5.aspx" target="_blank">Contr&ocirc;les Panorama et Pivot</a></li>
<li><a href="http://blogs.msdn.com/b/patrick_payet/archive/2011/09/06/developpement-windows-phone-partie-6.aspx" target="_blank">Travailler avec du texte sur le Windows Phone</a></li>
<li><a href="http://blogs.msdn.com/b/jflavidalle/archive/2011/09/06/developpement-windows-phone-partie-7.aspx" target="_blank">Mise en page sur l&rsquo;&eacute;cran</a></li>
<li><a href="http://blogs.msdn.com/b/lgmorand/archive/2011/09/06/developpement-windows-phone-partie-8.aspx" target="_blank">Orientations de l&rsquo;&eacute;cran</a></li>
<li><a href="http://blogs.msdn.com/b/patrick_payet/archive/2011/09/06/developpement-windows-phone-partie-9.aspx" target="_blank">Saisie tactile</a></li>
<li><a href="http://blogs.msdn.com/b/jflavidalle/archive/2011/09/06/developpement-windows-phone-partie-10.aspx" target="_blank">Navigation</a></li>
<li><a href="http://blogs.msdn.com/b/lgmorand/archive/2011/09/06/developpement-windows-phone-partie-11.aspx" target="_blank">Ex&eacute;cuter votre application en arri&egrave;re-plan (tombstoning)</a></li>
<li><a href="http://blogs.msdn.com/b/patrick_payet/archive/2011/09/06/developpement-windows-phone-partie-12.aspx" target="_blank">Notifications Push pour le d&eacute;veloppement Windows Phone</a></li>
<li><a href="http://blogs.msdn.com/b/jflavidalle/archive/2011/09/06/developpement-windows-phone-partie-13.aspx" target="_blank">Publier votre application sur le Marketplace</a></li>
</ul>
<p><strong>Visuels et m&eacute;dia</strong></p>
<ul>
<li><a href="http://blogs.msdn.com/b/lgmorand/archive/2011/09/06/developpement-windows-phone-partie-14.aspx" target="_blank">Images</a></li>
<li><a href="http://blogs.msdn.com/b/patrick_payet/archive/2011/09/06/developpement-windows-phone-partie-15.aspx" target="_blank">Animations</a></li>
<li><a href="http://blogs.msdn.com/b/jflavidalle/archive/2011/09/06/developpement-windows-phone-partie-16.aspx" target="_blank">Vid&eacute;o et Audio</a></li>
<li><a href="http://blogs.msdn.com/b/lgmorand/archive/2011/09/06/developpement-windows-phone-partie-17.aspx" target="_blank">Graphiques</a></li>
<li><a href="http://blogs.msdn.com/b/patrick_payet/archive/2011/09/06/developpement-windows-phone-partie-18.aspx" target="_blank">Pinceaux</a></li>
</ul>
<p><strong>Travailler avec les donn&eacute;es</strong></p>
<ul>
<li><a href="http://blogs.msdn.com/b/jflavidalle/archive/2011/09/06/developpement-windows-phone-partie-19.aspx" target="_blank">Obtenir des donn&eacute;es dans vos applications Windows Phone</a></li>
<li><a href="http://blogs.msdn.com/b/lgmorand/archive/2011/09/06/developpement-windows-phone-partie-20.aspx" target="_blank">Data binding</a></li>
<li><a href="http://blogs.msdn.com/b/patrick_payet/archive/2011/09/06/developpement-windows-phone-partie-21.aspx" target="_blank">Isolated storage</a></li>
<li><a href="http://blogs.msdn.com/b/jflavidalle/archive/2011/09/06/developpement-windows-phone-partie-22.aspx" target="_blank">Acc&eacute;der &agrave; un service Web REST</a></li>
<li><a href="http://blogs.msdn.com/b/lgmorand/archive/2011/09/06/developpement-windows-phone-partie-23.aspx" target="_blank">Consommer des donn&eacute;es Windows Azure</a></li>
</ul>
<p><strong>Sondes et autres fonctionnalit&eacute;s sp&eacute;cifiques au t&eacute;l&eacute;phone</strong></p>
<ul>
<li><a href="http://blogs.msdn.com/b/lgmorand/archive/2011/09/06/developpement-windows-phone-partie-24.aspx" target="_blank">Lanceurs et choosers</a></li>
<li><a href="http://blogs.msdn.com/b/jflavidalle/archive/2011/09/06/developpement-windows-phone-partie-25.aspx" target="_blank">D&eacute;tecter des mouvements (acc&eacute;l&eacute;rom&egrave;tres)</a></li>
<li><a href="http://blogs.msdn.com/b/lgmorand/archive/2011/09/06/developpement-windows-phone-partie-26.aspx" target="_blank">D&eacute;velopper avec le GPS Windows Phone (Services de localisation)</a></li>
<li><a href="http://blogs.msdn.com/b/patrick_payet/archive/2011/09/06/developpement-windows-phone-partie-27.aspx" target="_blank">D&eacute;velopper avec l&rsquo;appareil photo du Windows Phone</a></li>
</ul>
<hr />
<h1>Vid&eacute;o et Audio</h1>
<p>Silverlight pour Windows Phone inclut la prise en charge de la lecture de fichiers audio et vid&eacute;o files. Ce tutoriel vous montrera comment int&eacute;grer ces m&eacute;dias dans vos applications.</p>
<p>Ce tutoriel contient les sections suivantes :</p>
<ul>
<li><a href="http://blogs.msdn.com/b/jflavidalle/archive/2011/09/06/developpement-windows-phone-partie-16.aspx#mediaelement_object">L'object MediaElement</a></li>
<li><a href="http://blogs.msdn.com/b/jflavidalle/archive/2011/09/06/developpement-windows-phone-partie-16.aspx#mediaelement_properties">Les propri&eacute;t&eacute;s de MediaElement</a></li>
<li><a href="http://blogs.msdn.com/b/jflavidalle/archive/2011/09/06/developpement-windows-phone-partie-16.aspx#controlling_media_playback">Contr&ocirc;ler la lecture du m&eacute;dia</a></li>
</ul>
<p>Note</p>
<p>Les exemples fournis dans ce tutoriel s&rsquo;ex&eacute;cutent dans le navigateur pour simuler le comportement de Silverlight sur Windows Phone. Le comportement r&eacute;el peut &ecirc;tre l&eacute;g&egrave;rement diff&eacute;rent dans le simulateur Windows Phone ou sur le t&eacute;l&eacute;phone lui-m&ecirc;me.</p>
<p>&nbsp;</p>
<h2><a name="mediaelement_object"></a>L&rsquo;objet MediaElement</h2>
<p>Ajouter des m&eacute;dias &agrave; une application Silverlight pour Windows Phone est aussi simple que d&rsquo;ajouter un <a href="http://go.microsoft.com/fwlink/?LinkId=129635">MediaElement</a> &agrave; votre markup et fournir un Uniform Resource Identifier (URI) vers le m&eacute;dia devant &ecirc;tre lu. Assurez-vous que l&rsquo;extension du m&eacute;dia correspond bien &agrave; son contenu, sinon le m&eacute;dia ne sera pas lu.</p>
<p>L&rsquo;exemple suivant cr&eacute;&eacute;e un <a href="http://go.microsoft.com/fwlink/?LinkId=129635">MediaElement</a> et affecte l&rsquo;URI d&rsquo;un fichier vid&eacute;o &agrave; sa propri&eacute;t&eacute; <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.mediaelement.source(v=VS.95).aspx">Source</a>. Note: Si vous ajoutez la vid&eacute;o au projet sous Visual Studio, assurez-vous que la propri&eacute;t&eacute; de la vid&eacute;o soit bien en tant que Ressource. Le <a href="http://go.microsoft.com/fwlink/?LinkId=129635">MediaElement</a> sera lu lorsque la page sera charg&eacute;e. Cliquez sur l&rsquo;exemple pour relancer la lecture de la vid&eacute;o.</p>
<p>Note</p>
<p>Lorsque vous ajoutez un <a href="http://go.microsoft.com/fwlink/?LinkId=129635">MediaElement</a> au XAML, donnez-lui toujours un nom. Sinon, la s&eacute;curit&eacute; de la Media Library ne sera peut-&ecirc;tre pas valid&eacute;e pendant la soumission sur le Windows Marketplace. Pour plus d&rsquo;information, jetez un &oelig;il &agrave; <a href="http://msdn.microsoft.com/en-us/library/ff402533(VS.92).aspx">Security for Windows Phone</a>.</p>
<p>&nbsp;</p>
<div style="margin: 0px; display: inline; float: none; padding: 0px;" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:95fc4495-dae6-48b6-84c6-4c0632929058" class="wlWriterEditableSmartContent">
<div style="border: #000080 1px solid; color: #000; font-family: 'Courier New', Courier, Monospace; font-size: 10pt;">
<div style="background: #000080; color: #fff; font-family: Verdana, Tahoma, Arial, sans-serif; font-weight: bold; padding: 2px 5px;">XAML</div>
<div style="background: #ddd; max-height: 300px; overflow: auto;"><ol style="background: #ffffff; margin: 0 0 0 2em; padding: 0 0 0 5px;" start="1">
<li><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">MediaElement</span><span style="color: #ff0000;"> Name</span><span style="color: #0000ff;">="media"</span><span style="color: #ff0000;"> Source</span><span style="color: #0000ff;">="Silverlight.wmv" /&gt;</span></li>
</ol></div>
</div>
</div>
<p><object data="data:application/x-oleobject;base64,QfXq3+HzJEysrJnDBxUISgAJAADxOwAAvjUAAAwAAABXAGgAaQB0AGUAAAAAAAAAAAAAAAAAAACkAAAAaAB0AHQAcAA6AC8ALwBjAHIAZQBhAHQAZQAuAG0AcwBkAG4ALgBjAG8AbQAvAGEAcwBzAGUAdABzAC8AYwBtAHMALwBkAG8AYwBzAC8AUQB1AGkAYwBrAHMAdABhAHIAdABzAFgAQQBQAC8AUQB1AGkAYwBrAFMAdABhAHIAdABzAFAAaABvAG4AZQBfAHYAaQBkAGUAbwAxAC4AeABhAHAAAAA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAYAAAAMwAuADAALgA0ADAANgAyADQALgAwAAAACgAAAHQAcgB1AGUAAAAAAAAAAAAAAAAAAAA=" width="580" type="application/x-silverlight-2" height="520" autoupdate="true"><param name="source" value="http://create.msdn.com/assets/cms/docs/QuickstartsXAP/QuickStartsPhone_video1.xap" /><param name="minRuntimeVersion" value="3.0.40624.0" /><param name="background" value="White" /><param name="autoUpgrade" value="true" /><a style="text-decoration: none;" href="http://go.microsoft.com/fwlink/?LinkID=149156&amp;v=3.0.40624.0"> <img style="border-style: none;" alt="Get Microsoft Silverlight" src="http://go.microsoft.com/fwlink/?LinkId=161376" /> </a> </object></p>
<p>Pour ajouter un fichier vid&eacute;o &agrave; votre application, effectuez les actions suivantes sous Visual Studio :</p>
<p>1. Sous le menu <b>Project</b>, s&eacute;lectionnez <b>Add Existing Item</b>.</p>
<p>2. S&eacute;lectionnez le fichier vid&eacute;o d&eacute;sir&eacute;, cliquez ensuite sur <b>Add</b>.</p>
<p>3. Dans le Solution Explorer, s&eacute;lectionnez le fichier image qui a &eacute;t&eacute; ajout&eacute;.</p>
<p>4. Dans la fen&ecirc;tre de Properties, changez la propri&eacute;t&eacute; <b>Build Action</b> pour la valeur <b>Resource</b>.</p>
<p>Note</p>
<p>L&rsquo;objet <a href="http://go.microsoft.com/fwlink/?LinkId=129635">MediaElement</a> peut lire les Windows Media Video (WMV), Windows Media Audio (WMA), et les fichiers MP3. Pour une liste d&eacute;taill&eacute;e des formats et protocole, jetez un &oelig;il &agrave; <a href="http://msdn.microsoft.com/en-us/library/ff462087(VS.92).aspx">Supported Media Codecs for Windows Phone</a> dans la documentation MSDN de Silverlight.</p>
<hr align="center" size="3" width="100%" />
<h2><a name="mediaelement_properties"></a>Les propri&eacute;t&eacute;s de MediaElement</h2>
<p>L&rsquo;objet <a href="http://go.microsoft.com/fwlink/?LinkId=129635">MediaElement</a> propose plusieurs propri&eacute;t&eacute;s sp&eacute;cifiques aux m&eacute;dias. La liste suivante d&eacute;crit les propri&eacute;t&eacute;s les plus couramment utilis&eacute;es.</p>
<ul>
<li><a href="http://go.microsoft.com/fwlink/?LinkId=129638">AutoPlay</a>: Indique si le <a href="http://go.microsoft.com/fwlink/?LinkId=129635">MediaElement</a> doit commencer la lecture automatiquement. La valeur par d&eacute;faut est <b>True</b>.</li>
<li><a href="http://go.microsoft.com/fwlink/?LinkId=129640">IsMuted</a>: Indique si le <a href="http://go.microsoft.com/fwlink/?LinkId=129635">MediaElement</a> est jou&eacute; en silence. Une valeur &agrave; <b>True</b> coupe le son du <a href="http://go.microsoft.com/fwlink/?LinkId=129635">MediaElement</a>. La valeur par d&eacute;faut est <b>False</b>.</li>
<li><a href="http://go.microsoft.com/fwlink/?LinkId=129641">Stretch</a>: Indique comment la vid&eacute;o doit &ecirc;tre &eacute;tir&eacute;e pour remplir l&rsquo;objet <a href="http://go.microsoft.com/fwlink/?LinkId=129635">MediaElement</a>. Les valeurs possibles sont <b>None</b>, <b>Uniform</b>, <b>UniformToFill</b>, et <b>Fill</b>. La valeur par d&eacute;faut est <b>Fill</b>. L&rsquo;image ci-dessous illustre les diff&eacute;rentes valeurs possibles de la propri&eacute;t&eacute; <b>Stretch</b>. <br /><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/42/87/metablogapi/6787.clip_image003_2.jpg" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-42-87-metablogapi/6787.clip_5F00_image003_5F00_2.jpg"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="clip_image003" border="0" alt="clip_image003" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/42/87/metablogapi/0005.clip_image003_thumb.jpg" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-42-87-metablogapi/0005.clip_5F00_image003_5F00_thumb.jpg" width="543" height="204" /></a></li>
<li><a href="http://go.microsoft.com/fwlink/?LinkId=129741">Volume</a>: Indique le volume de la partie audio de l&rsquo;objet <a href="http://go.microsoft.com/fwlink/?LinkId=129635">MediaElement</a> entre 0 et 1, avec 1 &eacute;tant le plus fort. La valeur par d&eacute;faut est 0.5.</li>
</ul>
<p>En plus de ses propri&eacute;t&eacute;s sp&eacute;cifiques pour les m&eacute;dias, <a href="http://go.microsoft.com/fwlink/?LinkId=129635">MediaElement</a> poss&egrave;de aussi toutes les propri&eacute;t&eacute;s de <a href="http://msdn.microsoft.com/en-us/library/system.windows.uielement(VS.95).aspx">UIElement</a>, telle que l&rsquo;<a href="http://msdn.microsoft.com/en-us/library/system.windows.uielement.opacity(v=VS.95).aspx">Opacity</a> et <a href="http://msdn.microsoft.com/en-us/library/system.windows.uielement.clip(v=VS.95).aspx">Clip</a>. Pour une liste compl&egrave;te des propri&eacute;t&eacute;s de <a href="http://go.microsoft.com/fwlink/?LinkId=129635">MediaElement</a>, jetez un &oelig;il &agrave; la <a href="http://go.microsoft.com/fwlink/?LinkId=129635">MediaElement reference page</a> dans la documentation MSDN de Silverlight documentation.</p>
<hr align="center" size="3" width="100%" />
<h2><a name="controlling_media_playback"></a>Contr&ocirc;ler la lecture du m&eacute;dia</h2>
<p>Vous pouvez contr&ocirc;ler la lecture en utilisant les m&eacute;thodes <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.mediaelement.play(v=VS.95).aspx">Play</a>, <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.mediaelement.pause(v=VS.95).aspx">Pause</a>, et <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.mediaelement.stop(v=VS.95).aspx">Stop</a> de l&rsquo;objet <a href="http://go.microsoft.com/fwlink/?LinkId=129635">MediaElement</a>. Lorsqu&rsquo;un objet <a href="http://go.microsoft.com/fwlink/?LinkId=129635">MediaElement</a> est en lecture, toutes les autres lectures de m&eacute;dias sur le t&eacute;l&eacute;phone Windows Phone sont arr&ecirc;t&eacute;es.</p>
<p>L&rsquo;exemple suivant cr&eacute;er un objet <a href="http://go.microsoft.com/fwlink/?LinkId=129635">MediaElement</a> ainsi que les boutons pour arr&ecirc;ter, mettre en pause et lancer la lecture du m&eacute;dia. Pour lancer cet exemple, cliquez sur un des boutons contr&ocirc;lant la lecture du m&eacute;dia.</p>
<p><object data="data:application/x-oleobject;base64,QfXq3+HzJEysrJnDBxUISgAJAADxOwAAvjUAAAwAAABXAGgAaQB0AGUAAAAAAAAAAAAAAAAAAACkAAAAaAB0AHQAcAA6AC8ALwBjAHIAZQBhAHQAZQAuAG0AcwBkAG4ALgBjAG8AbQAvAGEAcwBzAGUAdABzAC8AYwBtAHMALwBkAG8AYwBzAC8AUQB1AGkAYwBrAHMAdABhAHIAdABzAFgAQQBQAC8AUQB1AGkAYwBrAFMAdABhAHIAdABzAFAAaABvAG4AZQBfAHYAaQBkAGUAbwAyAC4AeABhAHAAAAA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAYAAAAMwAuADAALgA0ADAANgAyADQALgAwAAAACgAAAHQAcgB1AGUAAAAAAAAAAAAAAAAAAAA=" width="580" type="application/x-silverlight-2" height="520" autoupdate="true"><param name="source" value="http://create.msdn.com/assets/cms/docs/QuickstartsXAP/QuickStartsPhone_video2.xap" /><param name="minRuntimeVersion" value="3.0.40624.0" /><param name="background" value="White" /><param name="autoUpgrade" value="true" /><a style="text-decoration: none;" href="http://go.microsoft.com/fwlink/?LinkID=149156&amp;v=3.0.40624.0"> <img style="border-style: none;" alt="Get Microsoft Silverlight" src="http://go.microsoft.com/fwlink/?LinkId=161376" /> </a> </object></p>
<p><b>XAML</b></p>
<div style="margin: 0px; display: inline; float: none; padding: 0px;" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:12eecc05-aab2-46fb-b0a5-ba4a444b2368" class="wlWriterEditableSmartContent">
<div style="border: #000080 1px solid; color: #000; font-family: 'Courier New', Courier, Monospace; font-size: 10pt;">
<div style="background: #000080; color: #fff; font-family: Verdana, Tahoma, Arial, sans-serif; font-weight: bold; padding: 2px 5px;">XAML</div>
<div style="background: #ddd; max-height: 300px; overflow: auto;"><ol style="background: #ffffff; margin: 0 0 0 2.5em; padding: 0 0 0 5px;" start="1">
<li><span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">Grid</span><span style="color: #0000ff;">&gt;</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">Grid.ColumnDefinitions</span><span style="color: #0000ff;">&gt;</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">ColumnDefinition</span><span style="color: #ff0000;"> Width</span><span style="color: #0000ff;">="*" /&gt;</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">ColumnDefinition</span><span style="color: #ff0000;"> Width</span><span style="color: #0000ff;">="*" /&gt;</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">ColumnDefinition</span><span style="color: #ff0000;"> Width</span><span style="color: #0000ff;">="*"/&gt;</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">ColumnDefinition</span><span style="color: #ff0000;"> Width</span><span style="color: #0000ff;">="*"/&gt;</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">Grid.ColumnDefinitions</span><span style="color: #0000ff;">&gt;</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">Grid.RowDefinitions</span><span style="color: #0000ff;">&gt;</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">RowDefinition</span><span style="color: #ff0000;"> Height</span><span style="color: #0000ff;">="*" /&gt;</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">RowDefinition</span><span style="color: #ff0000;"> Height</span><span style="color: #0000ff;">="Auto" /&gt;</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">Grid.RowDefinitions</span><span style="color: #0000ff;">&gt;</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">MediaElement</span><span style="color: #ff0000;"> x</span><span style="color: #0000ff;">:</span><span style="color: #ff0000;">Name</span><span style="color: #0000ff;">="media"</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #ff0000;"> Source</span><span style="color: #0000ff;">="Silverlight.wmv"</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #ff0000;"> Grid.Column</span><span style="color: #0000ff;">="0"</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #ff0000;"> Grid.Row</span><span style="color: #0000ff;">="0"</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #ff0000;"> Grid.ColumnSpan</span><span style="color: #0000ff;">="3" /&gt;</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #008000;">&lt;!-- Stops media playback.--&gt;</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">Button</span><span style="color: #ff0000;"> Click</span><span style="color: #0000ff;">="StopMedia"</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #ff0000;"> Grid.Column</span><span style="color: #0000ff;">="0"</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #ff0000;"> Grid.Row</span><span style="color: #0000ff;">="1"</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #ff0000;"> Content</span><span style="color: #0000ff;">="Stop" /&gt;</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #008000;">&lt;!-- Pauses media playback. --&gt;</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">Button</span><span style="color: #ff0000;"> Click</span><span style="color: #0000ff;">="PauseMedia"</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #ff0000;"> Grid.Column</span><span style="color: #0000ff;">="1"</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #ff0000;"> Grid.Row</span><span style="color: #0000ff;">="1"</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #ff0000;"> Content</span><span style="color: #0000ff;">="Pause" /&gt;</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #008000;">&lt;!-- Begins media playback. --&gt;</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">Button</span><span style="color: #ff0000;"> Click</span><span style="color: #0000ff;">="PlayMedia"</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #ff0000;"> Grid.Column</span><span style="color: #0000ff;">="2"</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #ff0000;"> Grid.Row</span><span style="color: #0000ff;">="1"</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #ff0000;"> Content</span><span style="color: #0000ff;">="Play" /&gt;</span></li>
<li style="background: #f3f3f3;"><span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">Grid</span><span style="color: #0000ff;">&gt;</span></li>
</ol></div>
</div>
</div>
<p></p>
<div style="margin: 0px; display: inline; float: none; padding: 0px;" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:1db4ebf1-ad6e-4223-98ce-b6a9f41223d7" class="wlWriterEditableSmartContent">
<div style="border: #000080 1px solid; color: #000; font-family: 'Courier New', Courier, Monospace; font-size: 10pt;">
<div style="background: #000080; color: #fff; font-family: Verdana, Tahoma, Arial, sans-serif; font-weight: bold; padding: 2px 5px;">C#</div>
<div style="background: #ddd; max-height: 300px; overflow: auto;"><ol style="background: #ffffff; margin: 0 0 0 2.5em; padding: 0 0 0 5px;" start="1">
<li><span style="color: #0000ff;">private</span> <span style="color: #0000ff;">void</span> StopMedia(<span style="color: #0000ff;">object</span> sender, <span style="color: #2b91af;">RoutedEventArgs</span> e)</li>
<li style="background: #f3f3f3;">{</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;media.Stop();</li>
<li style="background: #f3f3f3;">}</li>
<li><span style="color: #0000ff;">private</span> <span style="color: #0000ff;">void</span> PauseMedia(<span style="color: #0000ff;">object</span> sender, <span style="color: #2b91af;">RoutedEventArgs</span> e)</li>
<li style="background: #f3f3f3;">{</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;media.Pause();</li>
<li style="background: #f3f3f3;">}</li>
<li><span style="color: #0000ff;">private</span> <span style="color: #0000ff;">void</span> PlayMedia(<span style="color: #0000ff;">object</span> sender, <span style="color: #2b91af;">RoutedEventArgs</span> e)</li>
<li style="background: #f3f3f3;">{</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;media.Play();</li>
<li style="background: #f3f3f3;">}</li>
</ol></div>
</div>
</div>
<p></p>
<div style="margin: 0px; display: inline; float: none; padding: 0px;" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:3cb8eacb-fc88-48df-b8ed-e019a0bd9fdf" class="wlWriterEditableSmartContent">
<div style="border: #000080 1px solid; color: #000; font-family: 'Courier New', Courier, Monospace; font-size: 10pt;">
<div style="background: #000080; color: #fff; font-family: Verdana, Tahoma, Arial, sans-serif; font-weight: bold; padding: 2px 5px;">Visual Basic</div>
<div style="background: #ddd; max-height: 300px; overflow: auto;"><ol style="background: #ffffff; margin: 0 0 0 2.5em; padding: 0 0 0 5px;" start="1">
<li><span style="color: #0000ff;">Private</span> <span style="color: #0000ff;">Sub</span> StopMedia(sender <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Object</span>, e <span style="color: #0000ff;">As</span> <span style="color: #2b91af;">RoutedEventArgs</span>)</li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;media.[Stop]()</li>
<li><span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Sub</span></li>
<li style="background: #f3f3f3;"><span style="color: #0000ff;">Private</span> <span style="color: #0000ff;">Sub</span> PauseMedia(sender <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Object</span>, e <span style="color: #0000ff;">As</span> <span style="color: #2b91af;">RoutedEventArgs</span>)</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;media.Pause()</li>
<li style="background: #f3f3f3;"><span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Sub</span></li>
<li><span style="color: #0000ff;">Private</span> <span style="color: #0000ff;">Sub</span> PlayMedia(sender <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Object</span>, e <span style="color: #0000ff;">As</span> <span style="color: #2b91af;">RoutedEventArgs</span>)</li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;media.Play()</li>
<li><span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Sub</span></li>
</ol></div>
</div>
</div>
<p>Note</p>
<p>En plus de l&rsquo;arr&ecirc;t, la pause ou la lecture du media, vous pouvez aussi effectuer une avance rapide vers un emplacement sp&eacute;cifique en affectant la propri&eacute;t&eacute; <a href="http://go.microsoft.com/fwlink/?LinkId=129637">Position</a> d&rsquo;un objet <a href="http://go.microsoft.com/fwlink/?LinkId=129635">MediaElement</a>.</p>
<p>A Voir</p>
<ul>
<li><a href="http://go.microsoft.com/fwlink/?LinkID=111735">Audio and Video Overview</a></li>
<li><a href="http://msdn.microsoft.com/en-us/library/ff426928(v=VS.95).aspx">Media in Silverlight for Windows Phone</a></li>
<li><a href="http://msdn.microsoft.com/en-us/library/ff462087(VS.92).aspx">Supported Codecs on Windows Phone</a></li>
<li><a href="http://go.microsoft.com/fwlink/?LinkId=129632">MediaElement States</a></li>
<li><a href="http://msdn.microsoft.com/en-us/library/ee923781(v=VS.95).aspx">Digital Rights Management (DRM)</a></li>
</ul>
<p>&nbsp;</p>
<hr />
<p><a href="#sommaire">Cliquez ici pour revenir au sommaire de la liste d&rsquo;articles</a></p>]]></content:encoded>
    </item>
    <item>
      <title>Developpement Windows Phone - partie 13</title>
      <link>https://docs.microsoft.com/archive/blogs/jflavidalle/developpement-windows-phone-partie-13</link>
      <pubDate>Tue, 06 Sep 2011 13:13:00 GMT</pubDate>
      <dc:creator><![CDATA[JFLavidalle]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/jflavidalle/2011/09/06/developpement-windows-phone-partie-13/</guid>
      <description><![CDATA[Cet article fait partie d&rsquo;une s&eacute;rie d&rsquo;articles sur le d&eacute;veloppement...]]></description>
      <content:encoded><![CDATA[<p>Cet article fait partie d&rsquo;une s&eacute;rie d&rsquo;articles sur le d&eacute;veloppement Windows Phone. Il s&rsquo;agit d&rsquo;une traduction des articles se trouvant <a href="http://create.msdn.com/en-us/education/quickstarts" target="_blank">sur la MSDN</a>.</p>
<p><a name="sommaire"></a>Sommaire</p>
<p><strong>Bien d&eacute;buter et fondamentaux</strong></p>
<ul>
<li><a href="http://blogs.msdn.com/b/jflavidalle/archive/2011/09/06/developpement-windows-phone-partie-1.aspx" target="_blank">Bien d&eacute;marrer (Hello World)</a></li>
<li><a href="http://blogs.msdn.com/b/lgmorand/archive/2011/09/06/developpement-windows-phone-partie-2.aspx" target="_blank">Cr&eacute;er une interface utilisateur pour Windows Phone en XAML</a></li>
<li><a href="http://blogs.msdn.com/b/patrick_payet/archive/2011/09/06/developpement-windows-phone-partie-3.aspx" target="_blank">Utiliser des contr&ocirc;les</a></li>
<li><a href="http://blogs.msdn.com/b/jflavidalle/archive/2011/09/06/developpement-windows-phone-partie-4.aspx" target="_blank">Types de contr&ocirc;les</a></li>
<li><a href="http://blogs.msdn.com/b/lgmorand/archive/2011/09/06/developpement-windows-phone-partie-5.aspx" target="_blank">Contr&ocirc;les Panorama et Pivot</a></li>
<li><a href="http://blogs.msdn.com/b/patrick_payet/archive/2011/09/06/developpement-windows-phone-partie-6.aspx" target="_blank">Travailler avec du texte sur le Windows Phone</a></li>
<li><a href="http://blogs.msdn.com/b/jflavidalle/archive/2011/09/06/developpement-windows-phone-partie-7.aspx" target="_blank">Mise en page sur l&rsquo;&eacute;cran</a></li>
<li><a href="http://blogs.msdn.com/b/lgmorand/archive/2011/09/06/developpement-windows-phone-partie-8.aspx" target="_blank">Orientations de l&rsquo;&eacute;cran</a></li>
<li><a href="http://blogs.msdn.com/b/patrick_payet/archive/2011/09/06/developpement-windows-phone-partie-9.aspx" target="_blank">Saisie tactile</a></li>
<li><a href="http://blogs.msdn.com/b/jflavidalle/archive/2011/09/06/developpement-windows-phone-partie-10.aspx" target="_blank">Navigation</a></li>
<li><a href="http://blogs.msdn.com/b/lgmorand/archive/2011/09/06/developpement-windows-phone-partie-11.aspx" target="_blank">Ex&eacute;cuter votre application en arri&egrave;re-plan (tombstoning)</a></li>
<li><a href="http://blogs.msdn.com/b/patrick_payet/archive/2011/09/06/developpement-windows-phone-partie-12.aspx" target="_blank">Notifications Push pour le d&eacute;veloppement Windows Phone</a></li>
<li><a href="http://blogs.msdn.com/b/jflavidalle/archive/2011/09/06/developpement-windows-phone-partie-13.aspx" target="_blank">Publier votre application sur le Marketplace</a></li>
</ul>
<p><strong>Visuels et m&eacute;dia</strong></p>
<ul>
<li><a href="http://blogs.msdn.com/b/lgmorand/archive/2011/09/06/developpement-windows-phone-partie-14.aspx" target="_blank">Images</a></li>
<li><a href="http://blogs.msdn.com/b/patrick_payet/archive/2011/09/06/developpement-windows-phone-partie-15.aspx" target="_blank">Animations</a></li>
<li><a href="http://blogs.msdn.com/b/jflavidalle/archive/2011/09/06/developpement-windows-phone-partie-16.aspx" target="_blank">Vid&eacute;o et Audio</a></li>
<li><a href="http://blogs.msdn.com/b/lgmorand/archive/2011/09/06/developpement-windows-phone-partie-17.aspx" target="_blank">Graphiques</a></li>
<li><a href="http://blogs.msdn.com/b/patrick_payet/archive/2011/09/06/developpement-windows-phone-partie-18.aspx" target="_blank">Pinceaux</a></li>
</ul>
<p><strong>Travailler avec les donn&eacute;es</strong></p>
<ul>
<li><a href="http://blogs.msdn.com/b/jflavidalle/archive/2011/09/06/developpement-windows-phone-partie-19.aspx" target="_blank">Obtenir des donn&eacute;es dans vos applications Windows Phone</a></li>
<li><a href="http://blogs.msdn.com/b/lgmorand/archive/2011/09/06/developpement-windows-phone-partie-20.aspx" target="_blank">Data binding</a></li>
<li><a href="http://blogs.msdn.com/b/patrick_payet/archive/2011/09/06/developpement-windows-phone-partie-21.aspx" target="_blank">Isolated storage</a></li>
<li><a href="http://blogs.msdn.com/b/jflavidalle/archive/2011/09/06/developpement-windows-phone-partie-22.aspx" target="_blank">Acc&eacute;der &agrave; un service Web REST</a></li>
<li><a href="http://blogs.msdn.com/b/lgmorand/archive/2011/09/06/developpement-windows-phone-partie-23.aspx" target="_blank">Consommer des donn&eacute;es Windows Azure</a></li>
</ul>
<p><strong>Sondes et autres fonctionnalit&eacute;s sp&eacute;cifiques au t&eacute;l&eacute;phone</strong></p>
<ul>
<li><a href="http://blogs.msdn.com/b/patrick_payet/archive/2011/09/06/developpement-windows-phone-partie-24.aspx" target="_blank">Lanceurs et choosers</a></li>
<li><a href="http://blogs.msdn.com/b/jflavidalle/archive/2011/09/06/developpement-windows-phone-partie-25.aspx" target="_blank">D&eacute;tecter des mouvements (acc&eacute;l&eacute;rom&egrave;tres)</a></li>
<li><a href="http://blogs.msdn.com/b/lgmorand/archive/2011/09/06/developpement-windows-phone-partie-26.aspx" target="_blank">D&eacute;velopper avec le GPS Windows Phone (Services de localisation)</a></li>
<li><a href="http://blogs.msdn.com/b/patrick_payet/archive/2011/09/06/developpement-windows-phone-partie-27.aspx" target="_blank">D&eacute;velopper avec l&rsquo;appareil photo du Windows Phone</a></li>
</ul>
<hr />
<h1>Publier Votre Application sur le Marketplace</h1>
<p>Le Marketplace Windows Phone vous permet de publier vos applications afin que d&rsquo;autres utilisateurs puissent t&eacute;l&eacute;charger et installer vos applications. Vous soumettez votre application pour publication &agrave; partir du site <a href="http://create.msdn.com/">App Hub</a>, &agrave; ce moment-l&agrave; votre application va passer par un processus de certification pour assurer qu&rsquo;elle se conforme bien aux <a href="http://go.microsoft.com/fwlink/?LinkId=211189">pr&eacute;requis</a>. Lorsque votre application est certifi&eacute;e, des pages du marketplace sont g&eacute;n&eacute;r&eacute;es pour afficher les informations de votre application sur le t&eacute;l&eacute;phone et le logiciel Zune.</p>
<p>L&rsquo;image ci-dessous montre comment une application du marketplace est affich&eacute;e dans Zune.</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/42/87/metablogapi/4382.clip_image002_2.jpg" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-42-87-metablogapi/4382.clip_5F00_image002_5F00_2.jpg"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="clip_image002" border="0" alt="clip_image002" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/42/87/metablogapi/6082.clip_image002_thumb.jpg" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-42-87-metablogapi/6082.clip_5F00_image002_5F00_thumb.jpg" width="541" height="299" /></a></p>
<p>Il existe de tr&egrave;s nombreuses ressources sur la fa&ccedil;on d&rsquo;utiliser le MarketPlace, ce tutoriel se limitera donc &agrave; r&eacute;sumer les conditions clefs et &agrave; fournir des pointeurs vers les autres ressources. Si vous avez des questions, vous devriez consulter les ressources officielles list&eacute;es &agrave; la fin de ce tutoriel.</p>
<p>Ce tutoriel contient les sections suivantes :</p>
<ul>
<li><a href="http://blogs.msdn.com/b/jflavidalle/archive/2011/09/06/developpement-windows-phone-partie-13.aspx#SubmissionProcess">Proc&eacute;dure de soumission sur le Marketplace</a></li>
<li><a href="http://blogs.msdn.com/b/jflavidalle/archive/2011/09/06/developpement-windows-phone-partie-13.aspx#ApplicationImages">Images de l&rsquo;Application</a></li>
<li><a href="http://blogs.msdn.com/b/jflavidalle/archive/2011/09/06/developpement-windows-phone-partie-13.aspx#AdditionalInfo">Information additionnelle</a></li>
</ul>
<hr align="center" size="3" width="100%" />
<h2><a name="SubmissionProcess"></a>Proc&eacute;dure de soumission sur le Marketplace</h2>
<p>Avant de pouvoir soumettre une application &agrave; la publication, vous devez avoir effectu&eacute; les op&eacute;rations suivantes :</p>
<ul>
<li>Vous abonner sur le site App Hub. Pour plus d&rsquo;information, jetez un &oelig;il sur <a href="http://create.msdn.com/home/membership">membership</a>. Un compte App Hub est aussi n&eacute;cessaire pour tester votre application sur un t&eacute;l&eacute;phone physique.</li>
<li>Cr&eacute;er une version d&eacute;finitive, en release de votre application et la tester compl&egrave;tement. Pour plus d&rsquo;information, jetez un &oelig;il sur <a href="http://msdn.microsoft.com/library/gg588378(VS.92).aspx">Deploying and Testing on a Physical Windows Phone Device.</a></li>
<li>Cr&eacute;er les illustrations de votre application qui seront affich&eacute;es sur le Marketplace, tel que d&eacute;crit dans la section suivante.</li>
<li>S&eacute;lectionner une cat&eacute;gorie et une sous-cat&eacute;gorie. Pour plus d&rsquo;information, jetez un &oelig;il sur <a href="http://create.msdn.com/home/faq/windows_phone_7#wp7faq30">category lists</a> dans la FAQ.</li>
<li>S&eacute;lectionner le prix de votre application. Votre application peut &ecirc;tre gratuite ou factur&eacute;e entre 0,99&euro; et 499,99&euro;, dont vous toucherez 70%. Pour plus d&rsquo;information, jetez un &oelig;il &agrave; la <a href="http://create.msdn.com/home/faq/windows_phone_7#wp7faq43">FAQ pricing</a>. Vous pouvez aussi proposer une version gratuite d&rsquo;essai avec l&rsquo;option d&rsquo;acheter l&rsquo;application plus tard. Pour plus d&rsquo;information, jetez un &oelig;il &agrave; <a href="http://msdn.microsoft.com/library/ff967554(VS.92).aspx">Creating Trial Applications for Windows Phone</a>.</li>
<li>D&eacute;finir les m&eacute;ta-donn&eacute;es suivantes pour votre application : un nom unique, un titre, un num&eacute;ro de version, une description d&eacute;taill&eacute;e, des mots clefs, l&rsquo;URL du site et de la licence, ainsi que l&rsquo;adresse email du support. Pour plus d&rsquo;information, jetez un &oelig;il &agrave; <a href="http://create.msdn.com/home/about/app_submission_walkthrough">App Hub Application Submission Walkthrough</a>.</li>
</ul>
<p>Lorsque vous aurez compl&eacute;t&eacute; ces t&acirc;ches, vous pourrez soumettre votre application, ses images et metadatas en utilisant la <a href="https://windowsphone.create.msdn.com/AppSubmission#/Page1Upload">submission page</a> du site AppHub. Si vous avez pr&eacute;par&eacute; tous les pr&eacute;requis, la proc&eacute;dure de soumission ne devrait pas prendre beaucoup de temps. Toutefois, il n&rsquo;est pas n&eacute;cessaire de d&eacute;rouler la totalit&eacute; de la proc&eacute;dure en une seule fois ; App Hub sauvegardera votre avancement &agrave; chaque &eacute;tape.</p>
<p>Si votre application n&rsquo;est pas conforme au pr&eacute;requis de certification, vous recevrez par email un rapport d&eacute;taillant les probl&egrave;mes rencontr&eacute;s pour que vous puissiez les corriger et soumettre &agrave; nouveau votre application. Si l&rsquo;application passe le test de validation, elle sera publi&eacute;e automatiquement si vous avez choisi cette option &agrave; la derni&egrave;re &eacute;tape de la proc&eacute;dure de soumission. Sinon, vous pouvez publier votre application quand vous le souhaitez depuis votre <a href="https://windowsphone.create.msdn.com/app/list">app list</a>.</p>
<p>Vous pouvez suivre le nombre de tel&eacute;chargement de votre application depuis la <a href="https://windowsphone.create.msdn.com/Secure/Dashboard/ReportDashboard.aspx">page des rapports</a>. Pour plus d&rsquo;information, jetez un &oelig;il &agrave; <a href="http://create.msdn.com/home/faq/windows_phone_7#wp7faq480">reporting FAQ</a>. Si vous vendez votre application, vous recevrez un paiement mensuel tant que vous d&eacute;passez le palier de 200&euro;. Pour plus d&rsquo;information, jetez un &oelig;il &agrave; <a href="http://create.msdn.com/home/faq/windows_phone_7#wp7faq48">la FAQ de paiement</a>.</p>
<hr align="center" size="3" width="100%" />
<h2><a name="ApplicationImages"></a>Images de l&rsquo;Application</h2>
<p>Lorsque vous soumettez votre application, vous pouvez fournir plusieurs images pour illustrer la page marketplace de votre application. Ces images sont la premi&egrave;re impression que les utilisateurs potentiels recevront, passez donc suffisamment de temps &agrave; vous assurer qu&rsquo;elles sont esth&eacute;tiques. Vous pouvez trouver des artwork gratuits sur Internet ou en faire cr&eacute;er par un designer.</p>
<p>Vous aurez besoin des images suivantes pour la page marketplace de votre application.</p>
<p>Note</p>
<p>N&rsquo;utilisez pas d&rsquo;images PNG transparentes pour ces images.</p>
<p>&nbsp;</p>
<table border="0" cellspacing="3" cellpadding="0">
<tbody>
<tr>
<td>
<p><b>Image</b></p>
</td>
<td>
<p><b>Taille (pixels)</b></p>
</td>
<td>
<p><b>Format</b></p>
</td>
</tr>
<tr>
<td>
<p>Petite ic&ocirc;ne de votre application. C&rsquo;est l&rsquo;ic&ocirc;ne qui sera utilis&eacute;e pour afficher votre application dans la liste des applications du t&eacute;l&eacute;phone.</p>
<p>Grande ic&ocirc;ne de votre application. C&rsquo;est l&rsquo;ic&ocirc;ne qui sera utilis&eacute;e pour afficher votre application lorsque l&rsquo;utilisateur &eacute;pingle votre application sur l&rsquo;&eacute;cran principal du t&eacute;l&eacute;phone.</p>
</td>
<td>
<p>99 x 99</p>
<p>173 x 173</p>
</td>
<td>
<p>PNG</p>
<p>PNG</p>
</td>
</tr>
<tr>
<td>
<p>Grande image utilis&eacute;e pour l&rsquo;affichage de votre page marketplace.</p>
</td>
<td>
<p>200 x 200</p>
</td>
<td>
<p>PNG</p>
</td>
</tr>
<tr>
<td>
<p>Image de fond de votre page marketplace.</p>
</td>
<td>
<p>1000 x 800</p>
</td>
<td>
<p>PNG</p>
</td>
</tr>
<tr>
<td>
<p>Captures d&rsquo;&eacute;crans de votre application (au minimum 1, mais jusqu&rsquo;&agrave; 8) pour illustrer votre page marketplace.</p>
</td>
<td>
<p>480 x 800</p>
</td>
<td>
<p>PNG</p>
</td>
</tr>
</tbody>
</table>
<p>Pour plus d&rsquo;information sur la cr&eacute;ation de captures d&rsquo;&eacute;cran en utilisant l&rsquo;&eacute;mulateur Windows Phone, jetez un &oelig;il &agrave; <a href="http://msdn.microsoft.com/library/gg442300(VS.92).aspx">How to: Create Screenshots for Windows Phone Marketplace</a>.</p>
<hr align="center" size="3" width="100%" />
<h2><a name="AdditionalInfo"></a>Information Additionnelle</h2>
<p>Pour plus de d&eacute;tails sur n&rsquo;importe quel aspect de la soumission d&rsquo;application, la certification, l&rsquo;h&eacute;bergement, le marketing, les mises &agrave; jour, la proc&eacute;dure de paiement ainsi que le reporting, jetez un &oelig;il aux ressources suivantes :</p>
<ul>
<li><a href="http://create.msdn.com/home/about/app_submission_walkthrough">App Hub Application Submission Walkthrough</a>, qui vous donnera une description d&eacute;taill&eacute;e de chaque &eacute;tape de la proc&eacute;dure de soumission.</li>
<li><a href="http://go.microsoft.com/fwlink/?LinkId=211189">Windows Phone 7 Application Certification Requirements</a>, qui fournit une liste d&eacute;taill&eacute;e et officielle de tous les pr&eacute;requis pour pouvoir publier une application sur le marketplace.</li>
<li><a href="http://create.msdn.com/home/faq">FAQ: Answers at a Glance</a>, qui contient la liste des questions les plus populaires sur la proc&eacute;dure de soumission.</li>
<li><a href="http://create.msdn.com/home/faq/windows_phone_7">App Hub Questions for Windows Phone 7</a>, qui fournit un FAQ compl&egrave;te r&eacute;pondant &agrave; de tr&egrave;s nombreuses questions sur tous les aspects de la soumission d&rsquo;application.</li>
<li><a href="http://msdn.microsoft.com/library/ff941089(VS.92).aspx">Publishing Applications to the Windows Phone Marketplace</a>, qui est une page MSDN r&eacute;sumant les &eacute;tapes requises.</li>
<li><a href="http://go.microsoft.com/fwlink/?LinkId=214314">Publishing Your Application</a>, qui est la derni&egrave;re partie de <a href="http://go.microsoft.com/fwlink/?LinkID=212803">Building a Windows Phone Application from Start to Finish</a>. Cet article est une version plus d&eacute;taill&eacute;e de ce tutoriel, et inclut plus d&rsquo;informations sur le test d&rsquo;applications, les optimisations de performance et les pr&eacute;requis de certification.</li>
<li><a href="http://msdn.microsoft.com/library/gg490776.aspx">Interacting with Windows Marketplace</a>, qui est le chapitre 7 du livre de Patterns and Practices <a href="http://msdn.microsoft.com/library/gg490765.aspx">Windows Phone 7 Developer Guide</a>. Ce chapitre fournit une description d&eacute;taill&eacute;e des proc&egrave;s du Marketplace et inclut des informations sur la possibilit&eacute; d&rsquo;afficher des publicit&eacute;s dans vos applications.</li>
</ul>
<hr />
<p><a href="#sommaire">Cliquez ici pour revenir au sommaire de la liste d&rsquo;articles</a></p>]]></content:encoded>
    </item>
    <item>
      <title>Developpement Windows Phone - partie 10</title>
      <link>https://docs.microsoft.com/archive/blogs/jflavidalle/developpement-windows-phone-partie-10</link>
      <pubDate>Tue, 06 Sep 2011 13:10:00 GMT</pubDate>
      <dc:creator><![CDATA[JFLavidalle]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/jflavidalle/2011/09/06/developpement-windows-phone-partie-10/</guid>
      <description><![CDATA[Cet article fait partie d&rsquo;une s&eacute;rie d&rsquo;articles sur le d&eacute;veloppement...]]></description>
      <content:encoded><![CDATA[<p>Cet article fait partie d&rsquo;une s&eacute;rie d&rsquo;articles sur le d&eacute;veloppement Windows Phone. Il s&rsquo;agit d&rsquo;une traduction des articles se trouvant <a href="http://create.msdn.com/en-us/education/quickstarts" target="_blank">sur la MSDN</a>.</p>
<p><a name="sommaire"></a>Sommaire</p>
<p><strong>Bien d&eacute;buter et fondamentaux</strong></p>
<ul>
<li><a href="http://blogs.msdn.com/b/jflavidalle/archive/2011/09/06/developpement-windows-phone-partie-1.aspx" target="_blank">Bien d&eacute;marrer (Hello World)</a></li>
<li><a href="http://blogs.msdn.com/b/lgmorand/archive/2011/09/06/developpement-windows-phone-partie-2.aspx" target="_blank">Cr&eacute;er une interface utilisateur pour Windows Phone en XAML</a></li>
<li><a href="http://blogs.msdn.com/b/patrick_payet/archive/2011/09/06/developpement-windows-phone-partie-3.aspx" target="_blank">Utiliser des contr&ocirc;les</a></li>
<li><a href="http://blogs.msdn.com/b/jflavidalle/archive/2011/09/06/developpement-windows-phone-partie-4.aspx" target="_blank">Types de contr&ocirc;les</a></li>
<li><a href="http://blogs.msdn.com/b/lgmorand/archive/2011/09/06/developpement-windows-phone-partie-5.aspx" target="_blank">Contr&ocirc;les Panorama et Pivot</a></li>
<li><a href="http://blogs.msdn.com/b/patrick_payet/archive/2011/09/06/developpement-windows-phone-partie-6.aspx" target="_blank">Travailler avec du texte sur le Windows Phone</a></li>
<li><a href="http://blogs.msdn.com/b/jflavidalle/archive/2011/09/06/developpement-windows-phone-partie-7.aspx" target="_blank">Mise en page sur l&rsquo;&eacute;cran</a></li>
<li><a href="http://blogs.msdn.com/b/lgmorand/archive/2011/09/06/developpement-windows-phone-partie-8.aspx" target="_blank">Orientations de l&rsquo;&eacute;cran</a></li>
<li><a href="http://blogs.msdn.com/b/patrick_payet/archive/2011/09/06/developpement-windows-phone-partie-9.aspx" target="_blank">Saisie tactile</a></li>
<li><a href="http://blogs.msdn.com/b/jflavidalle/archive/2011/09/06/developpement-windows-phone-partie-10.aspx" target="_blank">Navigation</a></li>
<li><a href="http://blogs.msdn.com/b/lgmorand/archive/2011/09/06/developpement-windows-phone-partie-11.aspx" target="_blank">Ex&eacute;cuter votre application en arri&egrave;re-plan (tombstoning)</a></li>
<li><a href="http://blogs.msdn.com/b/patrick_payet/archive/2011/09/06/developpement-windows-phone-partie-12.aspx" target="_blank">Notifications Push pour le d&eacute;veloppement Windows Phone</a></li>
<li><a href="http://blogs.msdn.com/b/jflavidalle/archive/2011/09/06/developpement-windows-phone-partie-13.aspx" target="_blank">Publier votre application sur le Marketplace</a></li>
</ul>
<p><strong>Visuels et m&eacute;dia</strong></p>
<ul>
<li><a href="http://blogs.msdn.com/b/lgmorand/archive/2011/09/06/developpement-windows-phone-partie-14.aspx" target="_blank">Images</a></li>
<li><a href="http://blogs.msdn.com/b/patrick_payet/archive/2011/09/06/developpement-windows-phone-partie-15.aspx" target="_blank">Animations</a></li>
<li><a href="http://blogs.msdn.com/b/jflavidalle/archive/2011/09/06/developpement-windows-phone-partie-16.aspx" target="_blank">Vid&eacute;o et Audio</a></li>
<li><a href="http://blogs.msdn.com/b/lgmorand/archive/2011/09/06/developpement-windows-phone-partie-17.aspx" target="_blank">Graphiques</a></li>
<li><a href="http://blogs.msdn.com/b/patrick_payet/archive/2011/09/06/developpement-windows-phone-partie-18.aspx" target="_blank">Pinceaux</a></li>
</ul>
<p><strong>Travailler avec les donn&eacute;es</strong></p>
<ul>
<li><a href="http://blogs.msdn.com/b/jflavidalle/archive/2011/09/06/developpement-windows-phone-partie-19.aspx" target="_blank">Obtenir des donn&eacute;es dans vos applications Windows Phone</a></li>
<li><a href="http://blogs.msdn.com/b/lgmorand/archive/2011/09/06/developpement-windows-phone-partie-20.aspx" target="_blank">Data binding</a></li>
<li><a href="http://blogs.msdn.com/b/patrick_payet/archive/2011/09/06/developpement-windows-phone-partie-21.aspx" target="_blank">Isolated storage</a></li>
<li><a href="http://blogs.msdn.com/b/jflavidalle/archive/2011/09/06/developpement-windows-phone-partie-22.aspx" target="_blank">Acc&eacute;der &agrave; un service Web REST</a></li>
<li><a href="http://blogs.msdn.com/b/lgmorand/archive/2011/09/06/developpement-windows-phone-partie-23.aspx" target="_blank">Consommer des donn&eacute;es Windows Azure</a></li>
</ul>
<p><strong>Sondes et autres fonctionnalit&eacute;s sp&eacute;cifiques au t&eacute;l&eacute;phone</strong></p>
<ul>
<li><a href="http://blogs.msdn.com/b/patrick_payet/archive/2011/09/06/developpement-windows-phone-partie-24.aspx" target="_blank">Lanceurs et choosers</a></li>
<li><a href="http://blogs.msdn.com/b/jflavidalle/archive/2011/09/06/developpement-windows-phone-partie-25.aspx" target="_blank">D&eacute;tecter des mouvements (acc&eacute;l&eacute;rom&egrave;tres)</a></li>
<li><a href="http://blogs.msdn.com/b/lgmorand/archive/2011/09/06/developpement-windows-phone-partie-26.aspx" target="_blank">D&eacute;velopper avec le GPS Windows Phone (Services de localisation)</a></li>
<li><a href="http://blogs.msdn.com/b/patrick_payet/archive/2011/09/06/developpement-windows-phone-partie-27.aspx" target="_blank">D&eacute;velopper avec l&rsquo;appareil photo du Windows Phone</a></li>
</ul>
<hr />
<h1>Navigation</h1>
<p>La navigation dans Windows Phone peut &ecirc;tre d&eacute;finie comme la capacit&eacute; qu&rsquo;&agrave; l&rsquo;utilisateur d&rsquo;avancer dans diff&eacute;rentes pages de contenu. Le mod&egrave;le de navigation dans Windows Phone vous permet de cr&eacute;er des applications bas&eacute;es sur des vues qui poss&egrave;dent le m&ecirc;me <i>look and feel</i> que Windows Phone. Ce tutoriel vous montre comment cr&eacute;er une navigation entre diff&eacute;rentes pages dans vos applications.</p>
<p>Ce tutorial contient les sections suivantes :</p>
<ul>
<li><a href="http://blogs.msdn.com/b/jflavidalle/archive/2011/09/06/developpement-windows-phone-partie-10.aspx#FramesAndPages">Frames et Pages</a></li>
<li><a href="http://blogs.msdn.com/b/jflavidalle/archive/2011/09/06/developpement-windows-phone-partie-10.aspx#NavigatingBetweenPages">Navigation entre Pages</a></li>
<li><a href="http://blogs.msdn.com/b/jflavidalle/archive/2011/09/06/developpement-windows-phone-partie-10.aspx#PassingDataBetweenPages">Transmettre des donn&eacute;es entre Pages</a></li>
<li><a href="http://blogs.msdn.com/b/jflavidalle/archive/2011/09/06/developpement-windows-phone-partie-10.aspx#ApplicationBar">Application Bar</a></li>
<li><a href="http://blogs.msdn.com/b/jflavidalle/archive/2011/09/06/developpement-windows-phone-partie-10.aspx#BackButton">Bouton Retour</a></li>
</ul>
<p>&nbsp;</p>
<h2><a name="FramesAndPages"></a>Frames et Pages</h2>
<p>L&rsquo;exp&eacute;rience de navigation dans Windows Phone est similaire &agrave; l&rsquo;exp&eacute;rience de navigation en Silverlight, mais elle a &eacute;t&eacute; &eacute;tendue pour supporter des sc&eacute;narios sp&eacute;cifiques au t&eacute;l&eacute;phone. Le mod&egrave;le de navigation dans Windows Phone est bas&eacute; sur un contr&ocirc;le <a href="http://msdn.microsoft.com/en-us/library/microsoft.phone.controls.phoneapplicationframe(VS.92).aspx">PhoneApplicationFrame</a>. <a href="http://msdn.microsoft.com/en-us/library/microsoft.phone.controls.phoneapplicationframe(VS.92).aspx">PhoneApplicationFrame</a> contient un ou plusieurs contr&ocirc;les <a href="http://msdn.microsoft.com/en-us/library/microsoft.phone.controls.phoneapplicationpage(VS.92).aspx">PhoneApplicationPage</a> entre lesquels l&rsquo;utilisateur peut naviguer. <a href="http://msdn.microsoft.com/en-us/library/microsoft.phone.controls.phoneapplicationframe(VS.92).aspx">PhoneApplicationFrame</a> est le contr&ocirc;le de navigation principal et supporte la navigation depuis et vers une page. <a href="http://msdn.microsoft.com/en-us/library/microsoft.phone.controls.phoneapplicationpage(VS.92).aspx">PhoneApplicationPage</a> encapsule le contenu qui peut &ecirc;tre navigu&eacute; &agrave; travers un <a href="http://msdn.microsoft.com/en-us/library/microsoft.phone.controls.phoneapplicationframe(VS.92).aspx">PhoneApplicationFrame</a>.</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/42/87/metablogapi/2728.clip_image004[1].jpg" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-42-87-metablogapi/2728.clip_5F00_image004_5B00_1_5D00_.jpg"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="clip_image004[1]" border="0" alt="clip_image004[1]" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/42/87/metablogapi/2742.clip_image004[1]_thumb.jpg" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-42-87-metablogapi/2742.clip_5F00_image004_5B00_1_5D005F00_thumb.jpg" width="421" height="457" /></a></p>
<p>Une page est une collection d&rsquo;&eacute;tats persistants. Il peut &ecirc;tre consid&eacute;r&eacute; comme une page Silverlight qui contient du contenu ou des liens vers d&rsquo;autres pages. Une application peut aussi contenir des pop-ups, des boites de dialogue, un &eacute;cran de login, ou un splash screen qui contient usuellement un &eacute;tat persistant.</p>
<p>Seulement se d&eacute;placer entre deux pages est consid&eacute;r&eacute; comme de la navigation dans Windows Phone. Se d&eacute;placer d&rsquo;une page de login ou d&rsquo;un splash screen &agrave; la Home page n&rsquo;est pas consid&eacute;r&eacute; comme de la navigation et ne peut donc &ecirc;tre consid&eacute;r&eacute; comme une transition.</p>
<p>&nbsp;</p>
<h2><a name="NavigatingBetweenPages"></a>Navigation entre Pages</h2>
<p>La fa&ccedil;on la plus simple de mettre en place une navigation par page est d&rsquo;utiliser un contr&ocirc;le <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.hyperlinkbutton(VS.95).aspx">HyperlinkButton</a> . Vous pouvez utiliser se propri&eacute;t&eacute; <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.hyperlinkbutton.navigateuriproperty(VS.95).aspx">NavigationUri</a> pour naviguer vers une page. L&rsquo;exemple suivant illustre comment naviguer vers une page nomm&eacute;e SecondPage.xaml.</p>
<div style="margin: 0px; display: inline; float: none; padding: 0px;" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:b87712d3-e3f4-4908-bf8f-6d5fd0f822cb" class="wlWriterEditableSmartContent">
<div style="border: #000080 1px solid; color: #000; font-family: 'Courier New', Courier, Monospace; font-size: 10pt;">
<div style="background: #000080; color: #fff; font-family: Verdana, Tahoma, Arial, sans-serif; font-weight: bold; padding: 2px 5px;">XAML</div>
<div style="background: #ddd; max-height: 300px; overflow: auto;"><ol style="background: #ffffff; margin: 0 0 0 2em; padding: 0 0 0 5px;" start="1">
<li><span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">HyperlinkButton</span><span style="color: #ff0000;"> NavigateUri</span><span style="color: #0000ff;">="SecondPage.xaml" /&gt;</span></li>
</ol></div>
</div>
</div>
<p>Si vous ne souhaitez pas utiliser un <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.hyperlinkbutton(VS.95).aspx">HyperlinkButton</a>, vous pouvez mettre en place une navigation en utilisant la classe <a href="http://msdn.microsoft.com/en-us/library/system.windows.navigation.navigationservice(VS.92).aspx">NavigationService</a>. Cette classe contient plusieurs propri&eacute;t&eacute;s, m&eacute;thodes et &eacute;v&egrave;nements qui vous aideront avec la navigation. Vous pouvez utiliser la m&eacute;thode <a href="http://msdn.microsoft.com/en-us/library/ms591053(VS.92).aspx">NavigationService.Navigate</a> pour naviguer vers une page sp&eacute;cifique. Pour naviguer depuis une page vers une autre page, effectuez les &eacute;tapes suivantes.</p>
<p>1. Cr&eacute;ez une application Windows Phone dans Visual Studio.</p>
<p>2. Ajoutez une page Windows Phone en mode portrait nomm&eacute;e SecondPage.xaml vers laquelle vous pourrez naviguer depuis MainPage.</p>
<p>3. Utilisez la m&eacute;thode <a href="http://msdn.microsoft.com/en-us/library/ms591053(VS.92).aspx">NavigationService.Navigate</a> pour naviguer vers SecondPage.xaml.</p>
<p>4. Utilisez la m&eacute;thode <a href="http://msdn.microsoft.com/en-us/library/system.windows.navigation.navigationservice.goback(v=VS.92).aspx">NavigationService.GoBack</a> pour revenir &agrave; MainPage.xaml.</p>
<p>L&rsquo;exemple suivant cr&eacute;e deux pages appel&eacute;es home page et second.page. Vous pouvez naviguer depuis la home page vers la seconde page en cliquant sur le bouton <b>Go to the second page</b> dans la home page. Ceci est fait en utilisant la m&eacute;thode <a href="http://msdn.microsoft.com/en-us/library/ms591053(VS.92).aspx">NavigationService.Navigate</a> avec l&rsquo;URI de la seconde page (qui est /SecondPage.xaml) dans l&rsquo;&eacute;v&egrave;nement du Click du bouton. Vous pouvez revenir &agrave; la home page en cliquant sur le bouton "Go Back to Main Page" dans la seconde page. Ceci est fait en appelant la m&eacute;thode <a href="http://msdn.microsoft.com/en-us/library/system.windows.navigation.navigationservice.goback(v=VS.92).aspx">NavigationService.GoBack</a> dans l&rsquo;&eacute;v&egrave;nement du click du bouton. La m&eacute;thode <a href="http://msdn.microsoft.com/en-us/library/system.windows.navigation.navigationservice.goback(v=VS.92).aspx">NavigationService.GoBack</a> navigue vers l&rsquo;entr&eacute;e la plus r&eacute;cente dans l&rsquo;historique de navigation, dans notre cas, la home page. Avant d&rsquo;appeler la m&eacute;thode <a href="http://msdn.microsoft.com/en-us/library/system.windows.navigation.navigationservice.goback(v=VS.92).aspx">NavigationService.GoBack</a>, vous devez v&eacute;rifier la valeur de la propri&eacute;t&eacute; <a href="http://msdn.microsoft.com/en-us/library/system.windows.navigation.navigationservice.cangoback(v=VS.92).aspx">NavigationService.CanGoBack</a> pour d&eacute;terminer s&rsquo;il existe des &eacute;l&eacute;ments dans l&rsquo;historique de navigation.</p>
<p>Astuce</p>
<p>Bien que la m&eacute;thode <a href="http://msdn.microsoft.com/en-us/library/system.windows.navigation.navigationservice.goback(v=VS.92).aspx">NavigationService.GoBack</a> ait &eacute;t&eacute; utilis&eacute;e dans notre exemple pour revenir &agrave; la home page, un clic sur le bouton Retour du t&eacute;l&eacute;phone navigue lui aussi vers la page pr&eacute;c&eacute;dente.</p>
<div style="margin: 0px; display: inline; float: none; padding: 0px;" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:139267df-5eed-4afb-a432-99ac9ef043fe" class="wlWriterEditableSmartContent">
<div style="border: #000080 1px solid; color: #000; font-family: 'Courier New', Courier, Monospace; font-size: 10pt;">
<div style="background: #000080; color: #fff; font-family: Verdana, Tahoma, Arial, sans-serif; font-weight: bold; padding: 2px 5px;">XAML pour MainPage.xaml</div>
<div style="background: #ddd; max-height: 300px; overflow: auto;"><ol style="background: #ffffff; margin: 0 0 0 2.5em; padding: 0 0 0 5px;" start="1">
<li><span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">Grid</span><span style="color: #ff0000;"> x</span><span style="color: #0000ff;">:</span><span style="color: #ff0000;">Name</span><span style="color: #0000ff;">="LayoutRoot"</span><span style="color: #ff0000;"> Background</span><span style="color: #0000ff;">="Transparent"&gt;</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">Grid.RowDefinitions</span><span style="color: #0000ff;">&gt;</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">RowDefinition</span><span style="color: #ff0000;"> Height</span><span style="color: #0000ff;">="Auto"/&gt;</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">RowDefinition</span><span style="color: #ff0000;"> Height</span><span style="color: #0000ff;">="*"/&gt;</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">Grid.RowDefinitions</span><span style="color: #0000ff;">&gt;</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #008000;">&lt;!--TitlePanel contains the name of the application and page title--&gt;</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">StackPanel</span><span style="color: #ff0000;"> x</span><span style="color: #0000ff;">:</span><span style="color: #ff0000;">Name</span><span style="color: #0000ff;">="TitlePanel"</span><span style="color: #ff0000;"> Grid.Row</span><span style="color: #0000ff;">="0"</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #ff0000;"> Margin</span><span style="color: #0000ff;">="12,17,0,28"&gt;</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">TextBlock</span><span style="color: #ff0000;"> x</span><span style="color: #0000ff;">:</span><span style="color: #ff0000;">Name</span><span style="color: #0000ff;">="ApplicationTitle"</span><span style="color: #ff0000;"> Text</span><span style="color: #0000ff;">="Navigation"</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #ff0000;"> Style</span><span style="color: #0000ff;">="{</span><span style="color: #a31515;">StaticResource</span><span style="color: #ff0000;"> PhoneTextNormalStyle}</span><span style="color: #0000ff;">"/&gt;</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">TextBlock</span><span style="color: #ff0000;"> x</span><span style="color: #0000ff;">:</span><span style="color: #ff0000;">Name</span><span style="color: #0000ff;">="PageTitle"</span><span style="color: #ff0000;"> Text</span><span style="color: #0000ff;">="home page"</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #ff0000;"> Margin</span><span style="color: #0000ff;">="9,-7,0,0"</span><span style="color: #ff0000;"> Style</span><span style="color: #0000ff;">="{</span><span style="color: #a31515;">StaticResource</span><span style="color: #ff0000;"> PhoneTextTitle1Style}</span><span style="color: #0000ff;">"/&gt;</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">StackPanel</span><span style="color: #0000ff;">&gt;</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #008000;">&lt;!--ContentPanel - place additional content here--&gt;</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">Grid</span><span style="color: #ff0000;"> x</span><span style="color: #0000ff;">:</span><span style="color: #ff0000;">Name</span><span style="color: #0000ff;">="ContentPanel"</span><span style="color: #ff0000;"> Grid.Row</span><span style="color: #0000ff;">="1"</span><span style="color: #ff0000;"> Margin</span><span style="color: #0000ff;">="12,0,12,0"&gt;</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">Button</span><span style="color: #ff0000;"> x</span><span style="color: #0000ff;">:</span><span style="color: #ff0000;">Name</span><span style="color: #0000ff;">="MyButton"</span><span style="color: #ff0000;"> Height</span><span style="color: #0000ff;">="100"</span><span style="color: #ff0000;"> Width</span><span style="color: #0000ff;">="350"</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #ff0000;"> Click</span><span style="color: #0000ff;">="MyButton_Click"</span><span style="color: #ff0000;"> Content</span><span style="color: #0000ff;">="Go to Second Page"/&gt;</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">Grid</span><span style="color: #0000ff;">&gt;</span></li>
<li><span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">Grid</span><span style="color: #0000ff;">&gt;</span></li>
</ol></div>
</div>
</div>
<p>&nbsp;</p>
<p></p>
<div style="margin: 0px; display: inline; float: none; padding: 0px;" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:e89deb3b-8ad1-4752-b41c-e1aa708db770" class="wlWriterEditableSmartContent">
<div style="border: #000080 1px solid; color: #000; font-family: 'Courier New', Courier, Monospace; font-size: 10pt;">
<div style="background: #000080; color: #fff; font-family: Verdana, Tahoma, Arial, sans-serif; font-weight: bold; padding: 2px 5px;">C# pour MainPage.xaml.cs</div>
<div style="background: #ddd; max-height: 300px; overflow: auto;"><ol style="background: #ffffff; margin: 0 0 0 2em; padding: 0 0 0 5px;" start="1">
<li><span style="color: #0000ff;">private</span> <span style="color: #0000ff;">void</span> MyButton_Click(<span style="color: #0000ff;">object</span> sender, <span style="color: #2b91af;">RoutedEventArgs</span> e)</li>
<li style="background: #f3f3f3;">{</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #2b91af;">NavigationService</span>.Navigate(<span style="color: #0000ff;">new</span> <span style="color: #2b91af;">Uri</span>(<span style="color: #a31515;">"/SecondPage.xaml"</span>,</li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #2b91af;">UriKind</span>.RelativeOrAbsolute));</li>
<li>}</li>
</ol></div>
</div>
</div>
<p></p>
<div style="margin: 0px; display: inline; float: none; padding: 0px;" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:e4fe6ea1-3355-4e1a-ad3d-6d7c32d5acf6" class="wlWriterEditableSmartContent">
<div style="border: #000080 1px solid; color: #000; font-family: 'Courier New', Courier, Monospace; font-size: 10pt;">
<div style="background: #000080; color: #fff; font-family: Verdana, Tahoma, Arial, sans-serif; font-weight: bold; padding: 2px 5px;">Visual Basic pour MainPage.xam</div>
<div style="background: #ddd; max-height: 300px; overflow: auto;"><ol style="background: #ffffff; margin: 0 0 0 2em; padding: 0 0 0 5px;" start="1">
<li><span style="color: #0000ff;">Private</span> <span style="color: #0000ff;">Sub</span> MyButton_Click(<span style="color: #0000ff;">ByVal</span> sender <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Object</span>, <span style="color: #0000ff;">ByVal</span> e <span style="color: #0000ff;">As</span> <span style="color: #2b91af;">RoutedEventArgs</span>)</li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #2b91af;">NavigationService</span>.Navigate(<span style="color: #0000ff;">New</span> <span style="color: #2b91af;">Uri</span>(<span style="color: #a31515;">"/SecondPage.xaml"</span>, <span style="color: #2b91af;">UriKind</span>.RelativeOrAbsolute))</li>
<li><span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Sub</span></li>
</ol></div>
</div>
</div>
<p></p>
<div style="margin: 0px; display: inline; float: none; padding: 0px;" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:2fe0f856-ef72-49da-9287-52f3a87f2e65" class="wlWriterEditableSmartContent">
<div style="border: #000080 1px solid; color: #000; font-family: 'Courier New', Courier, Monospace; font-size: 10pt;">
<div style="background: #000080; color: #fff; font-family: Verdana, Tahoma, Arial, sans-serif; font-weight: bold; padding: 2px 5px;">XAML pour SecondPage.xaml</div>
<div style="background: #ddd; max-height: 300px; overflow: auto;"><ol style="background: #ffffff; margin: 0 0 0 2.5em; padding: 0 0 0 5px;" start="1">
<li><span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">Grid</span><span style="color: #ff0000;"> x</span><span style="color: #0000ff;">:</span><span style="color: #ff0000;">Name</span><span style="color: #0000ff;">="LayoutRoot"</span><span style="color: #ff0000;"> Background</span><span style="color: #0000ff;">="Transparent"&gt;</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">Grid.RowDefinitions</span><span style="color: #0000ff;">&gt;</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">RowDefinition</span><span style="color: #ff0000;"> Height</span><span style="color: #0000ff;">="Auto"/&gt;</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">RowDefinition</span><span style="color: #ff0000;"> Height</span><span style="color: #0000ff;">="*"/&gt;</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">Grid.RowDefinitions</span><span style="color: #0000ff;">&gt;</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #008000;">&lt;!--TitlePanel contains the name of the application and page title--&gt;</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">StackPanel</span><span style="color: #ff0000;"> x</span><span style="color: #0000ff;">:</span><span style="color: #ff0000;">Name</span><span style="color: #0000ff;">="TitlePanel"</span><span style="color: #ff0000;"> Grid.Row</span><span style="color: #0000ff;">="0"</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #ff0000;"> Margin</span><span style="color: #0000ff;">="12,17,0,28"&gt;</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">TextBlock</span><span style="color: #ff0000;"> x</span><span style="color: #0000ff;">:</span><span style="color: #ff0000;">Name</span><span style="color: #0000ff;">="ApplicationTitle"</span><span style="color: #ff0000;"> Text</span><span style="color: #0000ff;">="Navigation"</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #ff0000;"> Style</span><span style="color: #0000ff;">="{</span><span style="color: #a31515;">StaticResource</span><span style="color: #ff0000;"> PhoneTextNormalStyle}</span><span style="color: #0000ff;">"/&gt;</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">TextBlock</span><span style="color: #ff0000;"> x</span><span style="color: #0000ff;">:</span><span style="color: #ff0000;">Name</span><span style="color: #0000ff;">="PageTitle"</span><span style="color: #ff0000;"> Text</span><span style="color: #0000ff;">="second page"</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #ff0000;"> Margin</span><span style="color: #0000ff;">="9,-7,0,0"</span><span style="color: #ff0000;"> Style</span><span style="color: #0000ff;">="{</span><span style="color: #a31515;">StaticResource</span><span style="color: #ff0000;"> PhoneTextTitle1Style}</span><span style="color: #0000ff;">"/&gt;</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">StackPanel</span><span style="color: #0000ff;">&gt;</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #008000;">&lt;!--ContentPanel - place additional content here--&gt;</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">Grid</span><span style="color: #ff0000;"> x</span><span style="color: #0000ff;">:</span><span style="color: #ff0000;">Name</span><span style="color: #0000ff;">="ContentPanel"</span><span style="color: #ff0000;"> Grid.Row</span><span style="color: #0000ff;">="1"</span><span style="color: #ff0000;"> Margin</span><span style="color: #0000ff;">="12,0,12,0"&gt;</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">Button</span><span style="color: #ff0000;"> x</span><span style="color: #0000ff;">:</span><span style="color: #ff0000;">Name</span><span style="color: #0000ff;">="BtnBack"</span><span style="color: #ff0000;"> Content</span><span style="color: #0000ff;">="Go Back to Home Page"</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #ff0000;"> Click</span><span style="color: #0000ff;">="BtnBack_Click"</span><span style="color: #ff0000;"> Height</span><span style="color: #0000ff;">="100"</span><span style="color: #ff0000;"> Width</span><span style="color: #0000ff;">="350"/&gt;</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">Grid</span><span style="color: #0000ff;">&gt;</span></li>
<li><span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">Grid</span><span style="color: #0000ff;">&gt;</span></li>
</ol></div>
</div>
</div>
<p></p>
<div style="margin: 0px; display: inline; float: none; padding: 0px;" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:e7098f48-2c2d-4181-93a2-f949bdec6aaf" class="wlWriterEditableSmartContent">
<div style="border: #000080 1px solid; color: #000; font-family: 'Courier New', Courier, Monospace; font-size: 10pt;">
<div style="background: #000080; color: #fff; font-family: Verdana, Tahoma, Arial, sans-serif; font-weight: bold; padding: 2px 5px;">C# pour SecondPage.xaml.cs</div>
<div style="background: #ddd; max-height: 300px; overflow: auto;"><ol style="background: #ffffff; margin: 0 0 0 2em; padding: 0 0 0 5px;" start="1">
<li><span style="color: #0000ff;">private</span> <span style="color: #0000ff;">void</span> BtnBack_Click(<span style="color: #0000ff;">object</span> sender, <span style="color: #2b91af;">RoutedEventArgs</span> e)</li>
<li style="background: #f3f3f3;">{</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">if</span> (<span style="color: #2b91af;">NavigationService</span>.CanGoBack)</li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #2b91af;">NavigationService</span>.GoBack();</li>
<li>}</li>
</ol></div>
</div>
</div>
<p></p>
<div style="margin: 0px; display: inline; float: none; padding: 0px;" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:4dd67950-7413-429a-9ece-732f08abe53c" class="wlWriterEditableSmartContent">
<div style="border: #000080 1px solid; color: #000; font-family: 'Courier New', Courier, Monospace; font-size: 10pt;">
<div style="background: #000080; color: #fff; font-family: Verdana, Tahoma, Arial, sans-serif; font-weight: bold; padding: 2px 5px;">Visual Basic pour SecondPage.x</div>
<div style="background: #ddd; max-height: 300px; overflow: auto;"><ol style="background: #ffffff; margin: 0 0 0 2em; padding: 0 0 0 5px;" start="1">
<li><span style="color: #0000ff;">Private</span> <span style="color: #0000ff;">Sub</span> BtnBack_Click(<span style="color: #0000ff;">ByVal</span> sender <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Object</span>, <span style="color: #0000ff;">ByVal</span> e <span style="color: #0000ff;">As</span> <span style="color: #2b91af;">RoutedEventArgs</span>)</li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">If</span> <span style="color: #2b91af;">NavigationService</span>.CanGoBack <span style="color: #0000ff;">Then</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #2b91af;">NavigationService</span>.GoBack()</li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">End</span> <span style="color: #0000ff;">If</span></li>
<li><span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Sub</span></li>
</ol></div>
</div>
</div>
<p>L&rsquo;illustration ci-dessous montre la home page et la seconde page de l&rsquo;exemple pr&eacute;c&eacute;dent. La navigation est mise en place &agrave; travers l&rsquo;utilisation des m&eacute;thodes <a href="http://msdn.microsoft.com/en-us/library/ms591053(VS.92).aspx">NavigationService.Navigate</a> et <a href="http://msdn.microsoft.com/en-us/library/system.windows.navigation.navigationservice.goback(v=VS.92).aspx">NavigationService.GoBack</a>.</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/42/87/metablogapi/0741.clip_image006_2.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-42-87-metablogapi/0741.clip_5F00_image006_5F00_2.png"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="clip_image006" border="0" alt="clip_image006" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/42/87/metablogapi/3377.clip_image006_thumb.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-42-87-metablogapi/3377.clip_5F00_image006_5F00_thumb.png" width="631" height="568" /></a></p>
<h2><a name="PassingDataBetweenPages"></a>Transmettre des donn&eacute;es entre Pages</h2>
<p>Souvent, vous aurez besoin de passer des donn&eacute;es d&rsquo;une page &agrave; une autre lors de la navigation entre ces pages. Par exemple, vous aurez peut-&ecirc;tre besoin de transmettre le texte saisi par l&rsquo;utilisateur sur la home page pour l&rsquo;afficher dans la seconde page. Vous pouvez utiliser la m&eacute;thode <a href="http://msdn.microsoft.com/en-us/library/ms591053(VS.92).aspx">NavigationService.Navigate</a> pour naviguer vers la seconde page et passer la chaine de caract&egrave;re entr&eacute;e dans la home page &agrave; la seconde page dans l&rsquo;URI en utilisant une query string. Vous pouvez alors surcharger la m&eacute;thode <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.page.onnavigatedto(VS.92).aspx">Page.OnNavigatedTo</a> dans SecondPage.xaml.cs pour analyser le requ&ecirc;te de navigation venue de la home page et en extraire la string data. L&rsquo;exemple suivant illustre le passage de donn&eacute;e d&rsquo;un page &agrave; une autre en utilisant les m&eacute;thodes <a href="http://msdn.microsoft.com/en-us/library/ms591053(VS.92).aspx">NavigationService.Navigate</a> et <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.page.onnavigatedto(VS.92).aspx">Page.OnNavigatedTo</a>.</p>
<div style="margin: 0px; display: inline; float: none; padding: 0px;" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:1d2d703d-ee98-411b-8c1c-cbe0adcdfb20" class="wlWriterEditableSmartContent">
<div style="border: #000080 1px solid; color: #000; font-family: 'Courier New', Courier, Monospace; font-size: 10pt;">
<div style="background: #000080; color: #fff; font-family: Verdana, Tahoma, Arial, sans-serif; font-weight: bold; padding: 2px 5px;">XAML pour MainPage.xaml</div>
<div style="background: #ddd; max-height: 300px; overflow: auto;"><ol style="background: #ffffff; margin: 0 0 0 2.5em; padding: 0 0 0 5px;" start="1">
<li><span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">Grid</span><span style="color: #ff0000;"> x</span><span style="color: #0000ff;">:</span><span style="color: #ff0000;">Name</span><span style="color: #0000ff;">="LayoutRoot"</span><span style="color: #ff0000;"> Background</span><span style="color: #0000ff;">="Transparent"&gt;</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">Grid.RowDefinitions</span><span style="color: #0000ff;">&gt;</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">RowDefinition</span><span style="color: #ff0000;"> Height</span><span style="color: #0000ff;">="Auto"/&gt;</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">RowDefinition</span><span style="color: #ff0000;"> Height</span><span style="color: #0000ff;">="*"/&gt;</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">Grid.RowDefinitions</span><span style="color: #0000ff;">&gt;</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #008000;">&lt;!--TitlePanel contains the name of the application and page title--&gt;</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">StackPanel</span><span style="color: #ff0000;"> x</span><span style="color: #0000ff;">:</span><span style="color: #ff0000;">Name</span><span style="color: #0000ff;">="TitlePanel"</span><span style="color: #ff0000;"> Grid.Row</span><span style="color: #0000ff;">="0"</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #ff0000;"> Margin</span><span style="color: #0000ff;">="12,17,0,28"&gt;</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">TextBlock</span><span style="color: #ff0000;"> x</span><span style="color: #0000ff;">:</span><span style="color: #ff0000;">Name</span><span style="color: #0000ff;">="ApplicationTitle"</span><span style="color: #ff0000;"> Text</span><span style="color: #0000ff;">="Navigation"</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #ff0000;"> Style</span><span style="color: #0000ff;">="{</span><span style="color: #a31515;">StaticResource</span><span style="color: #ff0000;"> PhoneTextNormalStyle}</span><span style="color: #0000ff;">"/&gt;</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">TextBlock</span><span style="color: #ff0000;"> x</span><span style="color: #0000ff;">:</span><span style="color: #ff0000;">Name</span><span style="color: #0000ff;">="PageTitle"</span><span style="color: #ff0000;"> Text</span><span style="color: #0000ff;">="home page"</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #ff0000;"> Margin</span><span style="color: #0000ff;">="9,-7,0,0"</span><span style="color: #ff0000;"> Style</span><span style="color: #0000ff;">="{</span><span style="color: #a31515;">StaticResource</span><span style="color: #ff0000;"> PhoneTextTitle1Style}</span><span style="color: #0000ff;">"/&gt;</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">StackPanel</span><span style="color: #0000ff;">&gt;</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #008000;">&lt;!--ContentPanel - place additional content here--&gt;</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">StackPanel</span><span style="color: #ff0000;"> x</span><span style="color: #0000ff;">:</span><span style="color: #ff0000;">Name</span><span style="color: #0000ff;">="ContentPanel"</span><span style="color: #ff0000;"> Grid.Row</span><span style="color: #0000ff;">="1"</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #ff0000;"> Margin</span><span style="color: #0000ff;">="12,0,12,0"&gt;</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">TextBox</span><span style="color: #ff0000;"> x</span><span style="color: #0000ff;">:</span><span style="color: #ff0000;">Name</span><span style="color: #0000ff;">="MyTB"</span><span style="color: #ff0000;"> Height</span><span style="color: #0000ff;">="80"</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #ff0000;"> Width</span><span style="color: #0000ff;">="350" /&gt;</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">Button</span><span style="color: #ff0000;"> x</span><span style="color: #0000ff;">:</span><span style="color: #ff0000;">Name</span><span style="color: #0000ff;">="MyButton"</span><span style="color: #ff0000;"> Content</span><span style="color: #0000ff;">="Go to Second Page"</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #ff0000;"> Height</span><span style="color: #0000ff;">="80"</span><span style="color: #ff0000;"> Width</span><span style="color: #0000ff;">="350"</span><span style="color: #ff0000;"> Click</span><span style="color: #0000ff;">="MyButton_Click"/&gt;</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">StackPanel</span><span style="color: #0000ff;">&gt;</span></li>
<li style="background: #f3f3f3;"><span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">Grid</span><span style="color: #0000ff;">&gt;</span></li>
</ol></div>
</div>
</div>
<p></p>
<div style="margin: 0px; display: inline; float: none; padding: 0px;" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:bc5816ba-8cf1-45aa-8ff5-54eb733703e5" class="wlWriterEditableSmartContent">
<div style="border: #000080 1px solid; color: #000; font-family: 'Courier New', Courier, Monospace; font-size: 10pt;">
<div style="background: #000080; color: #fff; font-family: Verdana, Tahoma, Arial, sans-serif; font-weight: bold; padding: 2px 5px;">C# pour MainPage.xaml.cs</div>
<div style="background: #ddd; max-height: 300px; overflow: auto;"><ol style="background: #ffffff; margin: 0 0 0 2em; padding: 0 0 0 5px;" start="1">
<li><span style="color: #0000ff;">private</span> <span style="color: #0000ff;">void</span> MyButton_Click(<span style="color: #0000ff;">object</span> sender, <span style="color: #2b91af;">RoutedEventArgs</span> e)</li>
<li style="background: #f3f3f3;">{</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #2b91af;">NavigationService</span>.Navigate(<span style="color: #0000ff;">new</span> <span style="color: #2b91af;">Uri</span>(<span style="color: #a31515;">"/SecondPage.xaml?msg="</span> +</li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;MyTB.Text, <span style="color: #2b91af;">UriKind</span>.RelativeOrAbsolute));</li>
<li>}</li>
</ol></div>
</div>
</div>
<p></p>
<div style="margin: 0px; display: inline; float: none; padding: 0px;" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:12f8051a-3476-4fc7-b601-3013d414a8af" class="wlWriterEditableSmartContent">
<div style="border: #000080 1px solid; color: #000; font-family: 'Courier New', Courier, Monospace; font-size: 10pt;">
<div style="background: #000080; color: #fff; font-family: Verdana, Tahoma, Arial, sans-serif; font-weight: bold; padding: 2px 5px;">Visual Basic pour MainPage.xam</div>
<div style="background: #ddd; max-height: 300px; overflow: auto;"><ol style="background: #ffffff; margin: 0 0 0 2em; padding: 0 0 0 5px;" start="1">
<li><span style="color: #0000ff;">Class</span> <span style="color: #2b91af;">MainWindow</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">Private</span> <span style="color: #0000ff;">Sub</span> MyButton_Click(<span style="color: #0000ff;">ByVal</span> sender <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Object</span>, <span style="color: #0000ff;">ByVal</span> e <span style="color: #0000ff;">As</span> <span style="color: #2b91af;">RoutedEventArgs</span>)</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #2b91af;">NavigationService</span>.Navigate(<span style="color: #0000ff;">New</span> <span style="color: #2b91af;">Uri</span>((<span style="color: #a31515;">"/SecondPage.xaml?msg="</span> + MyTB.Text), <span style="color: #2b91af;">UriKind</span>.RelativeOrAbsolute))</li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Sub</span></li>
</ol></div>
</div>
</div>
<p></p>
<div style="margin: 0px; display: inline; float: none; padding: 0px;" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:7505bed6-1e66-4a2e-9b12-40906efa3da4" class="wlWriterEditableSmartContent">
<div style="border: #000080 1px solid; color: #000; font-family: 'Courier New', Courier, Monospace; font-size: 10pt;">
<div style="background: #000080; color: #fff; font-family: Verdana, Tahoma, Arial, sans-serif; font-weight: bold; padding: 2px 5px;">XAML pour SecondPage.xaml</div>
<div style="background: #ddd; max-height: 300px; overflow: auto;"><ol style="background: #ffffff; margin: 0 0 0 2.5em; padding: 0 0 0 5px;" start="1">
<li><span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">Grid</span><span style="color: #ff0000;"> x</span><span style="color: #0000ff;">:</span><span style="color: #ff0000;">Name</span><span style="color: #0000ff;">="LayoutRoot"</span><span style="color: #ff0000;"> Background</span><span style="color: #0000ff;">="Transparent"&gt;</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">Grid.RowDefinitions</span><span style="color: #0000ff;">&gt;</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">RowDefinition</span><span style="color: #ff0000;"> Height</span><span style="color: #0000ff;">="Auto"/&gt;</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">RowDefinition</span><span style="color: #ff0000;"> Height</span><span style="color: #0000ff;">="*"/&gt;</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">Grid.RowDefinitions</span><span style="color: #0000ff;">&gt;</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #008000;">&lt;!--TitlePanel contains the name of the application and page title--&gt;</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">StackPanel</span><span style="color: #ff0000;"> x</span><span style="color: #0000ff;">:</span><span style="color: #ff0000;">Name</span><span style="color: #0000ff;">="TitlePanel"</span><span style="color: #ff0000;"> Grid.Row</span><span style="color: #0000ff;">="0"</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #ff0000;"> Margin</span><span style="color: #0000ff;">="12,17,0,28"&gt;</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">TextBlock</span><span style="color: #ff0000;"> x</span><span style="color: #0000ff;">:</span><span style="color: #ff0000;">Name</span><span style="color: #0000ff;">="ApplicationTitle"</span><span style="color: #ff0000;"> Text</span><span style="color: #0000ff;">="Navigation"</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #ff0000;"> Style</span><span style="color: #0000ff;">="{</span><span style="color: #a31515;">StaticResource</span><span style="color: #ff0000;"> PhoneTextNormalStyle}</span><span style="color: #0000ff;">"/&gt;</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">TextBlock</span><span style="color: #ff0000;"> x</span><span style="color: #0000ff;">:</span><span style="color: #ff0000;">Name</span><span style="color: #0000ff;">="PageTitle"</span><span style="color: #ff0000;"> Text</span><span style="color: #0000ff;">="second page"</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #ff0000;"> Margin</span><span style="color: #0000ff;">="9,-7,0,0"</span><span style="color: #ff0000;"> Style</span><span style="color: #0000ff;">="{</span><span style="color: #a31515;">StaticResource</span><span style="color: #ff0000;"> PhoneTextTitle1Style}</span><span style="color: #0000ff;">"/&gt;</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">StackPanel</span><span style="color: #0000ff;">&gt;</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #008000;">&lt;!--ContentPanel - place additional content here--&gt;</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">Grid</span><span style="color: #ff0000;"> x</span><span style="color: #0000ff;">:</span><span style="color: #ff0000;">Name</span><span style="color: #0000ff;">="ContentPanel"</span><span style="color: #ff0000;"> Grid.Row</span><span style="color: #0000ff;">="1"</span><span style="color: #ff0000;"> Margin</span><span style="color: #0000ff;">="12,0,12,0"&gt;</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">TextBlock</span><span style="color: #ff0000;"> x</span><span style="color: #0000ff;">:</span><span style="color: #ff0000;">Name</span><span style="color: #0000ff;">="MyTBl"</span><span style="color: #ff0000;"> FontSize</span><span style="color: #0000ff;">="25"/&gt;</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">Grid</span><span style="color: #0000ff;">&gt;</span></li>
<li style="background: #f3f3f3;"><span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">Grid</span><span style="color: #0000ff;">&gt;</span></li>
</ol></div>
</div>
</div>
<p></p>
<div style="margin: 0px; display: inline; float: none; padding: 0px;" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:20206901-4b24-4ce7-ad85-18ae5f719ccf" class="wlWriterEditableSmartContent">
<div style="border: #000080 1px solid; color: #000; font-family: 'Courier New', Courier, Monospace; font-size: 10pt;">
<div style="background: #000080; color: #fff; font-family: Verdana, Tahoma, Arial, sans-serif; font-weight: bold; padding: 2px 5px;">C# pour SecondPage.xaml.cs</div>
<div style="background: #ddd; max-height: 300px; overflow: auto;"><ol style="background: #ffffff; margin: 0 0 0 2em; padding: 0 0 0 5px;" start="1">
<li>&nbsp;</li>
<li style="background: #f3f3f3;"><span style="color: #0000ff;">protected</span> <span style="color: #0000ff;">override</span> <span style="color: #0000ff;">void</span> OnNavigatedTo(System.Windows.Navigation.<span style="color: #2b91af;">NavigationEventArgs</span> e)</li>
<li>{</li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">base</span>.OnNavigatedTo(e);</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">string</span> msg = <span style="color: #a31515;">""</span>;</li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">if</span> (NavigationContext.QueryString.TryGetValue(<span style="color: #a31515;">"msg"</span>, <span style="color: #0000ff;">out</span> msg))</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MyTBl.Text = msg;</li>
<li style="background: #f3f3f3;">}</li>
</ol></div>
</div>
</div>
<p></p>
<div style="margin: 0px; display: inline; float: none; padding: 0px;" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:6e81ebac-106d-441f-81a8-c2b8edf23707" class="wlWriterEditableSmartContent">
<div style="border: #000080 1px solid; color: #000; font-family: 'Courier New', Courier, Monospace; font-size: 10pt;">
<div style="background: #000080; color: #fff; font-family: Verdana, Tahoma, Arial, sans-serif; font-weight: bold; padding: 2px 5px;">Visual Basic pour SecondPage.x</div>
<div style="background: #ddd; max-height: 300px; overflow: auto;"><ol style="background: #ffffff; margin: 0 0 0 2em; padding: 0 0 0 5px;" start="1">
<li><span style="color: #0000ff;">Protected</span> <span style="color: #0000ff;">Overrides</span> <span style="color: #0000ff;">Sub</span> OnNavigatedTo(<span style="color: #0000ff;">ByVal</span> e <span style="color: #0000ff;">As</span> System.Windows.Navigation.<span style="color: #2b91af;">NavigationEventArgs</span>)</li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">MyBase</span>.OnNavigatedTo(e)</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">Dim</span> msg <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">String</span> = <span style="color: #a31515;">""</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">If</span> NavigationContext.QueryString.TryGetValue(<span style="color: #a31515;">"msg"</span>, msg) <span style="color: #0000ff;">Then</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MyTBl.Text = msg</li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">End</span> <span style="color: #0000ff;">If</span></li>
<li><span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Sub</span></li>
</ol></div>
</div>
</div>
<p>L&rsquo;illustration ci-dessous montre la home page et la second page de l&rsquo;exemple pr&eacute;c&eacute;dent. La chaine de caract&egrave;re saisie dans la zone de saisie est pass&eacute;e &agrave; la seconde page, qui l&rsquo;affiche dans un text block.</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/42/87/metablogapi/5428.clip_image008_2.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-42-87-metablogapi/5428.clip_5F00_image008_5F00_2.png"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="clip_image008" border="0" alt="clip_image008" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/42/87/metablogapi/4431.clip_image008_thumb.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-42-87-metablogapi/4431.clip_5F00_image008_5F00_thumb.png" width="661" height="593" /></a></p>
<p>Astuce</p>
<p>Pour les pages qui affichent plusieurs sections de contenu, vous pouvez afficher diff&eacute;rents sets de contenu sans utiliser de m&eacute;canisme de navigation tout simplement en re-binding les contr&ocirc;les de votre page sur un nouveau <a href="http://msdn.microsoft.com/en-us/library/system.windows.frameworkelement.datacontext(VS.95).aspx">DataContext</a>.</p>
<p>&nbsp;</p>
<h2><a name="ApplicationBar"></a>Application Bar</h2>
<p>L&rsquo;Application Bar est un ensemble de un &agrave; quatre boutons qui peut &ecirc;tre affich&eacute; au bas de l&rsquo;&eacute;cran du t&eacute;l&eacute;phone en mode portrait ou sur le c&ocirc;t&eacute; en mode paysage. Il s&rsquo;agit du menu syst&egrave;me qui est utilis&eacute; dans Windows Phone 7, et les boutons de l&rsquo;Application Bar sont utilis&eacute;s pour fournir &agrave; l&rsquo;utilisateur un acc&egrave;s rapide aux fonctions les plus utilis&eacute;es de l&rsquo;application.</p>
<p>L&rsquo;illustration ci-dessous montre une Application Bar dans Windows Phone 7, dans son &eacute;tat d&eacute;pli&eacute;.</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/42/87/metablogapi/5100.clip_image010_2.jpg" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-42-87-metablogapi/5100.clip_5F00_image010_5F00_2.jpg"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="clip_image010" border="0" alt="clip_image010" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/42/87/metablogapi/8737.clip_image010_thumb.jpg" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-42-87-metablogapi/8737.clip_5F00_image010_5F00_thumb.jpg" width="553" height="439" /></a></p>
<p>Les boutons avec une ic&ocirc;ne dans l&rsquo;Application Bar sont appel&eacute;s <i>icon buttons</i>. Vous pouvez avoir un maximum de quatre <i>icon buttons</i>. Si vous essayez d&rsquo;ajouter plus de quatre <i>icon buttons</i> une exception sera lev&eacute;e au d&eacute;marrage de votre application. L&rsquo; <i>ellipsis</i> dans le coin en haut &agrave; droite de l&rsquo;Application Bar est utilis&eacute; pour d&eacute;plier et replier l&rsquo; Application Bar. Le texte des <i>icon buttons</i> n&rsquo;apparait que si l&rsquo; Application Bar est dans son &eacute;tat d&eacute;pli&eacute;. Vous pouvez utiliser l&rsquo;&eacute;v&egrave;nement Click pour ex&eacute;cuter l&rsquo;action lorsque l&rsquo;utilisateur clique sur l&rsquo;icon button.</p>
<p>En plus de la ligne d&rsquo;<i>icon buttons</i>, l&rsquo;Application Bar peut aussi fournir un ou plusieurs &eacute;l&eacute;ments de <i>menu</i> bas&eacute;s sur du texte. Ces &eacute;l&eacute;ments sont affich&eacute;s en tant que liste sous les <i>icon buttons</i> lorsque l&rsquo;utilisateur clique sur l&rsquo; ellipsis &agrave; droite des <i>icon buttons</i> ou sur l&rsquo;espace vide &agrave; gauche des <i>icon buttons</i>. Dans l&rsquo;illustration pr&eacute;c&eacute;dente, <b>about</b> et <b>settings</b> sont des &eacute;l&eacute;ments de menu. Cette liste de menu n&rsquo;est pas hi&eacute;rarchique, il ne s&rsquo;agit donc pas d&rsquo;un sous-menu de <i>l&rsquo;icon buttons</i>. Les &eacute;l&eacute;ments de menu sont plut&ocirc;t utilis&eacute;s pour les actions de l&rsquo;application qui sont utilis&eacute;es moins fr&eacute;quemment et pour les actions qui sont plus difficiles &agrave; repr&eacute;senter par une ic&ocirc;ne et qui n&eacute;cessitent donc une repr&eacute;sentation textuelle.</p>
<p>L&rsquo;illustration ci-dessous montre l&rsquo;Application Bars en &eacute;tat pli&eacute; et d&eacute;pli&eacute;. Avec et sans &eacute;l&eacute;ment de menu.</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/42/87/metablogapi/6082.clip_image012_2.jpg" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-42-87-metablogapi/6082.clip_5F00_image012_5F00_2.jpg"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="clip_image012" border="0" alt="clip_image012" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/42/87/metablogapi/5516.clip_image012_thumb.jpg" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-42-87-metablogapi/5516.clip_5F00_image012_5F00_thumb.jpg" width="678" height="372" /></a></p>
<p>Vous pouvez ajouter une Application Bar &agrave; votre application Windows Phone en utilisant le classe <a href="http://msdn.microsoft.com/en-us/library/microsoft.phone.shell.applicationbar(VS.92).aspx">ApplicationBar</a>. Vous pouvez ajouter l&rsquo; Application Bar soit depuis le XAML ou depuis le C#. Si vous choisissez de cr&eacute;er l&rsquo; Application Bar enti&egrave;rement en XAML, le template de projet Windows Phone qui est fourni avec les Windows Phone Developer Tools inclut une impl&eacute;mentation de l&rsquo; Application Bar dans le fichier MainPage.xaml. Tout ce que vous avez besoin de faire c&rsquo;est de d&eacute;commenter la d&eacute;finition de l&rsquo; Application Bar et de modifier le code pour utiliser les ic&ocirc;nes et les menus textuels que vous souhaitez.</p>
<p>Dans l&rsquo;exemple suivant le template de l&rsquo;Application Bar par d&eacute;faut a &eacute;t&eacute; modifi&eacute; pour cr&eacute;er trois <i>icon buttons</i> (<b>new</b>, <b>folders</b>, et <b>sync</b>) et deux &eacute;l&eacute;ments de menu (<b>settings</b> et <b>add email account</b>).</p>
<div style="margin: 0px; display: inline; float: none; padding: 0px;" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:0978214f-f407-44ca-a494-ecdc64f42fda" class="wlWriterEditableSmartContent">
<div style="border: #000080 1px solid; color: #000; font-family: 'Courier New', Courier, Monospace; font-size: 10pt;">
<div style="background: #000080; color: #fff; font-family: Verdana, Tahoma, Arial, sans-serif; font-weight: bold; padding: 2px 5px;">XAML</div>
<div style="background: #ddd; max-height: 300px; overflow: auto;"><ol style="background: #ffffff; margin: 0 0 0 2.5em; padding: 0 0 0 5px;" start="1">
<li><span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">phone</span><span style="color: #0000ff;">:</span><span style="color: #a31515;">PhoneApplicationPage.ApplicationBar</span><span style="color: #0000ff;">&gt;</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">shell</span><span style="color: #0000ff;">:</span><span style="color: #a31515;">ApplicationBar</span><span style="color: #ff0000;"> IsVisible</span><span style="color: #0000ff;">="True"</span><span style="color: #ff0000;"> IsMenuEnabled</span><span style="color: #0000ff;">="True"&gt;</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">shell</span><span style="color: #0000ff;">:</span><span style="color: #a31515;">ApplicationBarIconButton</span><span style="color: #ff0000;"> x</span><span style="color: #0000ff;">:</span><span style="color: #ff0000;">Name</span><span style="color: #0000ff;">="newButton"</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #ff0000;"> IconUri</span><span style="color: #0000ff;">="/Images/appbar.new.rest.png"</span><span style="color: #ff0000;"> Text</span><span style="color: #0000ff;">="new"</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #ff0000;"> Click</span><span style="color: #0000ff;">="newButton_Click"/&gt;</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">shell</span><span style="color: #0000ff;">:</span><span style="color: #a31515;">ApplicationBarIconButton</span><span style="color: #ff0000;"> x</span><span style="color: #0000ff;">:</span><span style="color: #ff0000;">Name</span><span style="color: #0000ff;">="folderButton"</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #ff0000;"> IconUri</span><span style="color: #0000ff;">="/Images/appbar.folder.rest.png"</span><span style="color: #ff0000;"> Text</span><span style="color: #0000ff;">="folders"</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #ff0000;"> Click</span><span style="color: #0000ff;">="folderButton_Click"/&gt;</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">shell</span><span style="color: #0000ff;">:</span><span style="color: #a31515;">ApplicationBarIconButton</span><span style="color: #ff0000;"> x</span><span style="color: #0000ff;">:</span><span style="color: #ff0000;">Name</span><span style="color: #0000ff;">="syncButton"</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #ff0000;"> IconUri</span><span style="color: #0000ff;">="/Images/appbar.refresh.rest.png"</span><span style="color: #ff0000;"> Text</span><span style="color: #0000ff;">="sync"</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #ff0000;"> Click</span><span style="color: #0000ff;">="syncButton_Click"/&gt;</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">shell</span><span style="color: #0000ff;">:</span><span style="color: #a31515;">ApplicationBar.MenuItems</span><span style="color: #0000ff;">&gt;</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">shell</span><span style="color: #0000ff;">:</span><span style="color: #a31515;">ApplicationBarMenuItem</span><span style="color: #ff0000;"> Text</span><span style="color: #0000ff;">="settings"/&gt;</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">shell</span><span style="color: #0000ff;">:</span><span style="color: #a31515;">ApplicationBarMenuItem</span><span style="color: #ff0000;"> Text</span><span style="color: #0000ff;">="add email account"/&gt;</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">shell</span><span style="color: #0000ff;">:</span><span style="color: #a31515;">ApplicationBar.MenuItems</span><span style="color: #0000ff;">&gt;</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">shell</span><span style="color: #0000ff;">:</span><span style="color: #a31515;">ApplicationBar</span><span style="color: #0000ff;">&gt;</span></li>
<li><span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">phone</span><span style="color: #0000ff;">:</span><span style="color: #a31515;">PhoneApplicationPage.ApplicationBar</span><span style="color: #0000ff;">&gt;</span></li>
</ol></div>
</div>
</div>
<p>L&rsquo;illustration montre le r&eacute;sultat de l&rsquo;exemple pr&eacute;c&eacute;dent.</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/42/87/metablogapi/2376.clip_image014_2.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-42-87-metablogapi/2376.clip_5F00_image014_5F00_2.png"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="clip_image014" border="0" alt="clip_image014" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/42/87/metablogapi/0211.clip_image014_thumb.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-42-87-metablogapi/0211.clip_5F00_image014_5F00_thumb.png" width="350" height="634" /></a></p>
<p>Notez que l&rsquo;exemple pr&eacute;c&eacute;dent utilise des images pour les <i>icon buttons</i>. Pour des guidelines sur la cr&eacute;ation d&rsquo;images des <i>icon buttons</i> des Application Bar, et une liste d&rsquo;images pr&ecirc;te que vous pouvez utiliser dans vos applications, jetez un &oelig;il sur <a href="http://msdn.microsoft.com/en-us/library/ff431806(VS.92).aspx">Application Bar Best Practices for Windows Phone</a>.</p>
<p>L&rsquo;Application Bar n&rsquo;est pas un contr&ocirc;le Silverlight et ne supporte pas le data binding. Cela signifie que les chaines de caract&egrave;res utilis&eacute;es par les labels des boutons doivent &ecirc;tre d&eacute;finies en dur dans le XAML et ne peuvent &ecirc;tre localis&eacute;es. Si vous pr&eacute;voyez de localiser votre application ou si vous &ecirc;tes plus &agrave; l&rsquo;aise en C#, vous pouvez cr&eacute;er l&rsquo;Application Bar depuis le code, ou utiliser le C# pour modifier par code les valeurs des textes au moment de l&rsquo;ex&eacute;cution.</p>
<p>L&rsquo;exemple suivant montre comment cr&eacute;er une Application Bar par code. Tout d&rsquo;abord, vous cr&eacute;ez l&rsquo;Application Bar en utilisant la classe <a href="http://msdn.microsoft.com/en-us/library/microsoft.phone.shell.applicationbar(VS.92).aspx">ApplicationBar</a>. Vous pouvez alors cr&eacute;er les <i>icon buttons</i> en utilisant la classe <a href="http://msdn.microsoft.com/en-us/library/microsoft.phone.shell.applicationbariconbutton(VS.92).aspx">ApplicationBarIconButton</a> et ajouter ces <i>icon buttons</i> &agrave; l&rsquo;Application Bar en utilisant la m&eacute;thode <b>ApplicationBar.Buttons.Add</b>. Vous pouvez cr&eacute;er des &eacute;l&eacute;ments de menu en utilisant <a href="http://msdn.microsoft.com/en-us/library/microsoft.phone.shell.applicationbarmenuitem(VS.92).aspx">ApplicationBarMenuItem</a> et ajouter ces derniers &agrave; l&rsquo;Application Bar en utilisant la m&eacute;thode <b>ApplicationBar.MenuItems.Add</b>.</p>
<p></p>
<div style="margin: 0px; display: inline; float: none; padding: 0px;" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:ed9bb431-a717-4b2f-966f-5b2a7aad603d" class="wlWriterEditableSmartContent">
<div style="border: #000080 1px solid; color: #000; font-family: 'Courier New', Courier, Monospace; font-size: 10pt;">
<div style="background: #000080; color: #fff; font-family: Verdana, Tahoma, Arial, sans-serif; font-weight: bold; padding: 2px 5px;">C#</div>
<div style="background: #ddd; max-height: 300px; overflow: auto;"><ol style="background: #ffffff; margin: 0 0 0 2.5em; padding: 0 0 0 5px;" start="1">
<li><span style="color: #0000ff;">public</span> <span style="color: #0000ff;">void</span> MainPage()</li>
<li style="background: #f3f3f3;">{</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;InitializeComponent();</li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000;">//Create the ApplicationBar</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;ApplicationBar = <span style="color: #0000ff;">new</span> ApplicationBar();</li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;ApplicationBar.IsVisible = <span style="color: #0000ff;">true</span>;</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;ApplicationBar.IsMenuEnabled = <span style="color: #0000ff;">true</span>;</li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000;">//Create the icon buttons and setting its properties</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;ApplicationBarIconButton newButton = <span style="color: #0000ff;">new</span> ApplicationBarIconButton(<span style="color: #0000ff;">new</span> <span style="color: #2b91af;">Uri</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;(<span style="color: #a31515;">"/Images/appbar.add.rest.png"</span>, <span style="color: #2b91af;">UriKind</span>.Relative));</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;newButton.Text = <span style="color: #a31515;">"new"</span>;</li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;newButton.Click += <span style="color: #0000ff;">new</span> <span style="color: #2b91af;">EventHandler</span>(newButton_Click);</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;ApplicationBarIconButton folderButton = <span style="color: #0000ff;">new</span> ApplicationBarIconButton(<span style="color: #0000ff;">new</span> <span style="color: #2b91af;">Uri</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;(<span style="color: #a31515;">"/Images/appbar.folder.rest.png"</span>, <span style="color: #2b91af;">UriKind</span>.Relative));</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;folderButton.Text = <span style="color: #a31515;">"folders"</span>;</li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;folderButton.Click += <span style="color: #0000ff;">new</span> <span style="color: #2b91af;">EventHandler</span>(folderButton_Click);</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;ApplicationBarIconButton syncButton = <span style="color: #0000ff;">new</span> ApplicationBarIconButton(<span style="color: #0000ff;">new</span> <span style="color: #2b91af;">Uri</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;(<span style="color: #a31515;">"/Images/appbar.sync.rest.png"</span>, <span style="color: #2b91af;">UriKind</span>.Relative));</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;syncButton.Text = <span style="color: #a31515;">"sync"</span>;</li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;syncButton.Click += <span style="color: #0000ff;">new</span> <span style="color: #2b91af;">EventHandler</span>(syncButton_Click);</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000;">//Add the icon buttons to the Application Bar</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;ApplicationBar.Buttons.Add(newButton);</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;ApplicationBar.Buttons.Add(folderButton);</li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;ApplicationBar.Buttons.Add(syncButton);</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000;">//Create menu items</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;ApplicationBarMenuItem settingsMenuItem = <span style="color: #0000ff;">new</span> ApplicationBarMenuItem</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;(<span style="color: #a31515;">"settings"</span>);</li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;settingsMenuItem.Click += <span style="color: #0000ff;">new</span> <span style="color: #2b91af;">EventHandler</span>(settingsMenuItem_Click);</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;ApplicationBarMenuItem addaccountMenuItem = <span style="color: #0000ff;">new</span> ApplicationBarMenuItem</li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;(<span style="color: #a31515;">"add email account"</span>);</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;addaccountMenuItem.Click += <span style="color: #0000ff;">new</span> <span style="color: #2b91af;">EventHandler</span>(addaccountMenuItem_Click);</li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000;">//Add the menu items to the Application Bar</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;ApplicationBar.MenuItems.Add(settingsMenuItem);</li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;ApplicationBar.MenuItems.Add(addaccountMenuItem);</li>
<li>}</li>
</ol></div>
</div>
</div>
<p></p>
<div style="margin: 0px; display: inline; float: none; padding: 0px;" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:9a19c32b-ded7-40ab-8897-7a4645f453ed" class="wlWriterEditableSmartContent">
<div style="border: #000080 1px solid; color: #000; font-family: 'Courier New', Courier, Monospace; font-size: 10pt;">
<div style="background: #000080; color: #fff; font-family: Verdana, Tahoma, Arial, sans-serif; font-weight: bold; padding: 2px 5px;">Visual Basic</div>
<div style="background: #ddd; max-height: 300px; overflow: auto;"><ol style="background: #ffffff; margin: 0 0 0 2.5em; padding: 0 0 0 5px;" start="1">
<li>{publicMainPage</li>
<li style="background: #f3f3f3;">InitializeComponent</li>
<li><span style="color: #008000;">'Create the ApplicationBar</span></li>
<li style="background: #f3f3f3;">ApplicationBar = <span style="color: #0000ff;">New</span> ApplicationBar</li>
<li>ApplicationBar.IsVisible = <span style="color: #0000ff;">true</span></li>
<li style="background: #f3f3f3;">ApplicationBar.IsMenuEnabled = <span style="color: #0000ff;">true</span></li>
<li><span style="color: #008000;">'Create the icon buttons and set its properties</span></li>
<li style="background: #f3f3f3;"><span style="color: #0000ff;">Dim</span> newButton <span style="color: #0000ff;">As</span> ApplicationBarIconButton = <span style="color: #0000ff;">New</span> ApplicationBarIconButton(<span style="color: #0000ff;">New</span> <span style="color: #2b91af;">Uri</span>(<span style="color: #a31515;">"/Images/appbar.add.rest.png"</span>, <span style="color: #2b91af;">UriKind</span>.Relative))</li>
<li>newButton.Text = "new"</li>
<li style="background: #f3f3f3;"><span style="color: #0000ff;">AddHandler</span> newButton.Click, <span style="color: #0000ff;">AddressOf</span> <span style="color: #0000ff;">Me</span>.newButton_Click</li>
<li><span style="color: #0000ff;">Dim</span> folderButton <span style="color: #0000ff;">As</span> ApplicationBarIconButton = <span style="color: #0000ff;">New</span> ApplicationBarIconButton(<span style="color: #0000ff;">New</span> <span style="color: #2b91af;">Uri</span>(<span style="color: #a31515;">"/Images/appbar.folder.rest.png"</span>, <span style="color: #2b91af;">UriKind</span>.Relative))</li>
<li style="background: #f3f3f3;">folderButton.Text = "folders"</li>
<li><span style="color: #0000ff;">AddHandler</span> folderButton.Click, <span style="color: #0000ff;">AddressOf</span> <span style="color: #0000ff;">Me</span>.folderButton_Click</li>
<li style="background: #f3f3f3;"><span style="color: #0000ff;">Dim</span> syncButton <span style="color: #0000ff;">As</span> ApplicationBarIconButton = <span style="color: #0000ff;">New</span> ApplicationBarIconButton(<span style="color: #0000ff;">New</span> <span style="color: #2b91af;">Uri</span>(<span style="color: #a31515;">"/Images/appbar.sync.rest.png"</span>, <span style="color: #2b91af;">UriKind</span>.Relative))</li>
<li>syncButton.Text = "sync"</li>
<li style="background: #f3f3f3;"><span style="color: #0000ff;">AddHandler</span> syncButton.Click, <span style="color: #0000ff;">AddressOf</span> <span style="color: #0000ff;">Me</span>.syncButton_Click</li>
<li><span style="color: #008000;">'Add the icon buttons to the Application Bar</span></li>
<li style="background: #f3f3f3;">ApplicationBar.Buttons.Add(newButton)</li>
<li>ApplicationBar.Buttons.Add(folderButton)</li>
<li style="background: #f3f3f3;">ApplicationBar.Buttons.Add(syncButton)</li>
<li><span style="color: #008000;">'Create menu items</span></li>
<li style="background: #f3f3f3;"><span style="color: #0000ff;">Dim</span> settingsMenuItem <span style="color: #0000ff;">As</span> ApplicationBarMenuItem = <span style="color: #0000ff;">New</span> ApplicationBarMenuItem(<span style="color: #a31515;">"settings"</span>)</li>
<li><span style="color: #0000ff;">AddHandler</span> settingsMenuItem.Click, <span style="color: #0000ff;">AddressOf</span> <span style="color: #0000ff;">Me</span>.settingsMenuItem_Click</li>
<li style="background: #f3f3f3;"><span style="color: #0000ff;">Dim</span> addaccountMenuItem <span style="color: #0000ff;">As</span> ApplicationBarMenuItem = <span style="color: #0000ff;">New</span> ApplicationBarMenuItem(<span style="color: #a31515;">"add email account"</span>)</li>
<li><span style="color: #0000ff;">AddHandler</span> addaccountMenuItem.Click, <span style="color: #0000ff;">AddressOf</span> <span style="color: #0000ff;">Me</span>.addaccountMenuItem_Click</li>
<li style="background: #f3f3f3;"><span style="color: #008000;">'Add the menu items to the Application Bar</span></li>
<li>ApplicationBar.MenuItems.Add(settingsMenuItem)</li>
<li style="background: #f3f3f3;">ApplicationBar.MenuItems.Add(addaccountMenuItem)</li>
</ol></div>
</div>
</div>
<p>L&rsquo;Application Bar peut &ecirc;tre d&eacute;finie localement ou globalement. Une Application Bar locale peut &ecirc;tre seulement utilis&eacute;e par la page qui le d&eacute;fini. Cette approche est utile si diff&eacute;rentes pages de votre application poss&egrave;dent diff&eacute;rentes actions possibles. Par exemple, si vous cr&eacute;ez une application d&rsquo;email, la page de la boite de r&eacute;ception va sans doute avoir des actions telles que <b>create new email</b> et <b>sync</b>, et la page d&rsquo;un nouvel email va avoir des actions comme <b>send</b> ou <b>delete</b>. Il est donc cens&eacute; d&rsquo;avoir des Application Bar diff&eacute;rentes pour la page de la boite de r&eacute;ception et celle d&rsquo;un nouvel email.</p>
<p>Une Application Bar global peut &ecirc;tre partag&eacute;e entre les diff&eacute;rentes pages de votre application. Une Application Bar global est cr&eacute;&eacute;e en tant que ressource d&rsquo;application dans le fichier App.xaml. Pour cr&eacute;er une Application Bar global, vous devrez effectuer les actions suivantes.</p>
<ul>
<li>Ajouter la d&eacute;finition XAML de l&rsquo;Application Bar dans la section &lt;Application.Resources&gt; du fichier App.xaml.</li>
<li>Ajouter l&rsquo;attribut suivant dans le n&oelig;ud <b>&lt;phone:PhoneApplicationPage&gt;</b> de chaque page dans laquelle vous voudrez utiliser l&rsquo; Application Bar :</li>
</ul>
<div style="margin: 0px; display: inline; float: none; padding: 0px;" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:7736b2b9-1933-410b-8d62-244f340f4e7b" class="wlWriterEditableSmartContent">
<div style="border: #000080 1px solid; color: #000; font-family: 'Courier New', Courier, Monospace; font-size: 10pt;">
<div style="background: #000080; color: #fff; font-family: Verdana, Tahoma, Arial, sans-serif; font-weight: bold; padding: 2px 5px;">XAML</div>
<div style="background: #ddd; max-height: 300px; overflow: auto;"><ol style="background: #ffffff; margin: 0 0 0 2em; padding: 0 0 0 5px;" start="1">
<li><span style="color: #a31515;">ApplicationBar="{StaticResource GlobalAppMenuBar}"</span></li>
</ol></div>
</div>
</div>
<p>Pour plus d&rsquo;information sur l&rsquo; Application Bar, jetez un &oelig;il au <a href="http://msdn.microsoft.com/en-us/library/ff431801(VS.92).aspx">Application Bar for Windows Phone</a>.</p>
<h2><a name="BackButton"></a>Bouton Retour</h2>
<p>Chaque t&eacute;l&eacute;phone Windows Phone inclut un bouton physique <b>Retour</b>. Ce bouton permet &agrave; l&rsquo;utilisateur de naviguer vers la page pr&eacute;c&eacute;dente d&rsquo;un application et vers d&rsquo;autres applications. Par exemple, vous pouvez cliquer sur un lien dans une de votre application d&rsquo;emails pour ouvrir un web browser, et appuyer tout naturellement sur le bouton physique Retour pour retourner dans votre application d&rsquo;emails. Ceci permet une exp&eacute;rience utilisateur bien plus consistante &agrave; travers diff&eacute;rentes applications, qu&rsquo;elles soient des applications externes ou inclut dans le Windows Phone. Windows Phone permet cela en maintenant un historique de vos actions de navigation. Ceci est aussi appel&eacute; back-stack.</p>
<p>L&rsquo;illustration suivante montre le bouton physique de bouton Retour, le bouton D&eacute;marrer, et le bouton Rechercher.</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/42/87/metablogapi/8244.clip_image016_2.jpg" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-42-87-metablogapi/8244.clip_5F00_image016_5F00_2.jpg"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="clip_image016" border="0" alt="clip_image016" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/42/87/metablogapi/8228.clip_image016_thumb.jpg" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-42-87-metablogapi/8228.clip_5F00_image016_5F00_thumb.jpg" width="521" height="336" /></a></p>
<p>Vous pouvez surcharger le bouton Retour pour le personnaliser et faire ce que vous souhaitez. Toutefois, lorsque vous faites cela, vous devez garder &agrave; l&rsquo;esprit ce que l&rsquo;utilisateur consid&egrave;re comme "retour". Par exemple, si vous affichez une boite de dialogue dans votre application, vous avez peut-&ecirc;tre surcharg&eacute; l&rsquo;action retour pour sortir de l&rsquo;application, mais l&rsquo;utilisateur s&rsquo;attend peut &ecirc;tre &agrave; fermer uniquement la boite de dialogue.</p>
<p>Vous pouvez surcharger le comportement du bouton Retour en surchargeant la m&eacute;thode <a href="http://msdn.microsoft.com/en-us/library/microsoft.phone.controls.phoneapplicationpage.onbackkeypress(VS.92).aspx">PhoneApplicationPage.OnBackKeyPress</a>.</p>
<p>L&rsquo;exemple suivant contient un text box. Si vous saisissez du texte dans le text box et que vous appuyez sur le bouton physique Retour, une boite de dialogue s&rsquo;affiche avec le message "You are about to discard your changes. Continue". Ce comportement est impl&eacute;ment&eacute; en surchargeant la m&eacute;thode <a href="http://msdn.microsoft.com/en-us/library/microsoft.phone.controls.phoneapplicationpage.onbackkeypress(VS.92).aspx">PhoneApplicationPage.OnBackKeyPress</a>.</p>
<p></p>
<div style="margin: 0px; display: inline; float: none; padding: 0px;" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:a6b7db7c-6424-4717-bd5f-f850002c5417" class="wlWriterEditableSmartContent">
<div style="border: #000080 1px solid; color: #000; font-family: 'Courier New', Courier, Monospace; font-size: 10pt;">
<div style="background: #000080; color: #fff; font-family: Verdana, Tahoma, Arial, sans-serif; font-weight: bold; padding: 2px 5px;">C#</div>
<div style="background: #ddd; max-height: 300px; overflow: auto;"><ol style="background: #ffffff; margin: 0 0 0 2.5em; padding: 0 0 0 5px;" start="1">
<li><span style="color: #0000ff;">protected</span> <span style="color: #0000ff;">override</span> <span style="color: #0000ff;">void</span> OnBackKeyPress(System.ComponentModel.<span style="color: #2b91af;">CancelEventArgs</span> e)</li>
<li style="background: #f3f3f3;">{</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">base</span>.OnBackKeyPress(e);</li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">if</span> (MyTB.Text != <span style="color: #0000ff;">string</span>.Empty)</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;{</li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">var</span> result = <span style="color: #2b91af;">MessageBox</span>.Show(<span style="color: #a31515;">"You are about to discard your changes. Continue?"</span>,</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;">"Warning"</span>, <span style="color: #2b91af;">MessageBoxButton</span>.OKCancel);</li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">if</span> (result != <span style="color: #2b91af;">MessageBoxResult</span>.OK)</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{</li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;e.Cancel = <span style="color: #0000ff;">true</span>;</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;}</li>
<li>}</li>
</ol></div>
</div>
</div>
<p></p>
<div style="margin: 0px; display: inline; float: none; padding: 0px;" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:8ec2b354-88b2-464b-89fc-951c1f7e70cb" class="wlWriterEditableSmartContent">
<div style="border: #000080 1px solid; color: #000; font-family: 'Courier New', Courier, Monospace; font-size: 10pt;">
<div style="background: #000080; color: #fff; font-family: Verdana, Tahoma, Arial, sans-serif; font-weight: bold; padding: 2px 5px;">Visual Basic</div>
<div style="background: #ddd; max-height: 300px; overflow: auto;"><ol style="background: #ffffff; margin: 0 0 0 2.5em; padding: 0 0 0 5px;" start="1">
<li><span style="color: #0000ff;">Protected</span> <span style="color: #0000ff;">Overrides</span> <span style="color: #0000ff;">Sub</span> OnBackKeyPress(<span style="color: #0000ff;">ByVal</span> e <span style="color: #0000ff;">As</span> System.ComponentModel.<span style="color: #2b91af;">CancelEventArgs</span>)</li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">MyBase</span>.OnBackKeyPress(e)</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">If</span> (MyTB.Text &lt;&gt; <span style="color: #0000ff;">String</span>.Empty) <span style="color: #0000ff;">Then</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">Dim</span> result <span style="color: #0000ff;">As</span> var = <span style="color: #2b91af;">MessageBox</span>.Show(<span style="color: #a31515;">"You are about to discard your changes. Continue?"</span>, <span style="color: #a31515;">"Warning"</span>, <span style="color: #2b91af;">MessageBoxButton</span>.OKCancel)</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">If</span> (result &lt;&gt; <span style="color: #2b91af;">MessageBoxResult</span>.OK) <span style="color: #0000ff;">Then</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;e.Cancel = <span style="color: #0000ff;">True</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">End</span> <span style="color: #0000ff;">If</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">End</span> <span style="color: #0000ff;">If</span></li>
<li><span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Sub</span></li>
</ol></div>
</div>
</div>
<p>L&rsquo;illustration ci-dessous montre le r&eacute;sultat de l&rsquo;exemple pr&eacute;c&eacute;dent. Si l&rsquo;utilisateur appuie sur le bouton Retour alors qu&rsquo;il y a du texte dans le text box, un message s&rsquo;affiche.</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/42/87/metablogapi/0207.clip_image018_2.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-42-87-metablogapi/0207.clip_5F00_image018_5F00_2.png"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="clip_image018" border="0" alt="clip_image018" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/42/87/metablogapi/4405.clip_image018_thumb.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-42-87-metablogapi/4405.clip_5F00_image018_5F00_thumb.png" width="317" height="569" /></a></p>
<p>Gardez ces bonnes pratiques &agrave; l&rsquo;esprit lorsque vous surchargez le bouton Retour :</p>
<ul>
<li>Pensez &agrave; ce que "retour" signifie pour l&rsquo;utilisateur dans le contexte de l&rsquo;application.</li>
<li>Si l&rsquo;utilisateur appuie sur le bouton Retour une deuxi&egrave;me fois, vous devez laisser le comportement par d&eacute;faut s&rsquo;effectuer.</li>
<li>Essayez de ne pas trop utiliser les boutons Retour pour les navigations locales.</li>
<li>Pour impl&eacute;menter des interfaces transitoires, comme un &eacute;cran de login, utilisez le contr&ocirc;le de <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.primitives.popup(VS.95).aspx">Popup</a> de Silverlight pour afficher du contenu qui couvre une partie de l&rsquo;&eacute;cran au lieu d&rsquo;impl&eacute;menter une page s&eacute;par&eacute;e qui n&eacute;cessite une navigation. Vous pouvez ajouter la m&eacute;thode <a href="http://msdn.microsoft.com/en-us/library/microsoft.phone.controls.phoneapplicationpage.onbackkeypress(VS.92).aspx">PhoneApplicationPage.OnBackKeyPress</a> &agrave; votre code et affecter <b>true</b> &agrave; <b>e.Cancel</b> (comme montr&eacute; dans l&rsquo;exemple pr&eacute;c&eacute;dent) pendant que la pop-up est visible pour permettre &agrave; l&rsquo;utilisateur d&rsquo;utiliser le bouton Retour pour fermer la pop-up.</li>
</ul>
<p>&nbsp;</p>
<p>A voir</p>
<ul>
<li><a href="http://msdn.microsoft.com/en-us/library/gg278407(VS.92).aspx">Frame and Page Navigation for Windows Phone</a></li>
</ul>
<p>&nbsp;</p>
<hr />
<p><a href="#sommaire">Cliquez ici pour revenir au sommaire de la liste d&rsquo;articles</a></p>]]></content:encoded>
    </item>
    <item>
      <title>Developpement Windows Phone - partie 7</title>
      <link>https://docs.microsoft.com/archive/blogs/jflavidalle/developpement-windows-phone-partie-7</link>
      <pubDate>Tue, 06 Sep 2011 13:07:00 GMT</pubDate>
      <dc:creator><![CDATA[JFLavidalle]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/jflavidalle/2011/09/06/developpement-windows-phone-partie-7/</guid>
      <description><![CDATA[Cet article fait partie d&rsquo;une s&eacute;rie d&rsquo;articles sur le d&eacute;veloppement...]]></description>
      <content:encoded><![CDATA[<p>Cet article fait partie d&rsquo;une s&eacute;rie d&rsquo;articles sur le d&eacute;veloppement Windows Phone. Il s&rsquo;agit d&rsquo;une traduction des articles se trouvant <a href="http://create.msdn.com/en-us/education/quickstarts" target="_blank">sur la MSDN</a>.</p>
<p><a name="sommaire"></a>Sommaire</p>
<p><strong>Bien d&eacute;buter et fondamentaux</strong></p>
<ul>
<li><a href="http://blogs.msdn.com/b/jflavidalle/archive/2011/09/06/developpement-windows-phone-partie-1.aspx" target="_blank">Bien d&eacute;marrer (Hello World)</a></li>
<li><a href="http://blogs.msdn.com/b/lgmorand/archive/2011/09/06/developpement-windows-phone-partie-2.aspx" target="_blank">Cr&eacute;er une interface utilisateur pour Windows Phone en XAML</a></li>
<li><a href="http://blogs.msdn.com/b/patrick_payet/archive/2011/09/06/developpement-windows-phone-partie-3.aspx" target="_blank">Utiliser des contr&ocirc;les</a></li>
<li><a href="http://blogs.msdn.com/b/jflavidalle/archive/2011/09/06/developpement-windows-phone-partie-4.aspx" target="_blank">Types de contr&ocirc;les</a></li>
<li><a href="http://blogs.msdn.com/b/lgmorand/archive/2011/09/06/developpement-windows-phone-partie-5.aspx" target="_blank">Contr&ocirc;les Panorama et Pivot</a></li>
<li><a href="http://blogs.msdn.com/b/patrick_payet/archive/2011/09/06/developpement-windows-phone-partie-6.aspx" target="_blank">Travailler avec du texte sur le Windows Phone</a></li>
<li><a href="http://blogs.msdn.com/b/jflavidalle/archive/2011/09/06/developpement-windows-phone-partie-7.aspx" target="_blank">Mise en page sur l&rsquo;&eacute;cran</a></li>
<li><a href="http://blogs.msdn.com/b/lgmorand/archive/2011/09/06/developpement-windows-phone-partie-8.aspx" target="_blank">Orientations de l&rsquo;&eacute;cran</a></li>
<li><a href="http://blogs.msdn.com/b/patrick_payet/archive/2011/09/06/developpement-windows-phone-partie-9.aspx" target="_blank">Saisie tactile</a></li>
<li><a href="http://blogs.msdn.com/b/jflavidalle/archive/2011/09/06/developpement-windows-phone-partie-10.aspx" target="_blank">Navigation</a></li>
<li><a href="http://blogs.msdn.com/b/lgmorand/archive/2011/09/06/developpement-windows-phone-partie-11.aspx" target="_blank">Ex&eacute;cuter votre application en arri&egrave;re-plan (tombstoning)</a></li>
<li><a href="http://blogs.msdn.com/b/patrick_payet/archive/2011/09/06/developpement-windows-phone-partie-12.aspx" target="_blank">Notifications Push pour le d&eacute;veloppement Windows Phone</a></li>
<li><a href="http://blogs.msdn.com/b/jflavidalle/archive/2011/09/06/developpement-windows-phone-partie-13.aspx" target="_blank">Publier votre application sur le Marketplace</a></li>
</ul>
<p><strong>Visuels et m&eacute;dia</strong></p>
<ul>
<li><a href="http://blogs.msdn.com/b/lgmorand/archive/2011/09/06/developpement-windows-phone-partie-14.aspx" target="_blank">Images</a></li>
<li><a href="http://blogs.msdn.com/b/patrick_payet/archive/2011/09/06/developpement-windows-phone-partie-15.aspx" target="_blank">Animations</a></li>
<li><a href="http://blogs.msdn.com/b/jflavidalle/archive/2011/09/06/developpement-windows-phone-partie-16.aspx" target="_blank">Vid&eacute;o et Audio</a></li>
<li><a href="http://blogs.msdn.com/b/lgmorand/archive/2011/09/06/developpement-windows-phone-partie-17.aspx" target="_blank">Graphiques</a></li>
<li><a href="http://blogs.msdn.com/b/patrick_payet/archive/2011/09/06/developpement-windows-phone-partie-18.aspx" target="_blank">Pinceaux</a></li>
</ul>
<p><strong>Travailler avec les donn&eacute;es</strong></p>
<ul>
<li><a href="http://blogs.msdn.com/b/jflavidalle/archive/2011/09/06/developpement-windows-phone-partie-19.aspx" target="_blank">Obtenir des donn&eacute;es dans vos applications Windows Phone</a></li>
<li><a href="http://blogs.msdn.com/b/lgmorand/archive/2011/09/06/developpement-windows-phone-partie-20.aspx" target="_blank">Data binding</a></li>
<li><a href="http://blogs.msdn.com/b/patrick_payet/archive/2011/09/06/developpement-windows-phone-partie-21.aspx" target="_blank">Isolated storage</a></li>
<li><a href="http://blogs.msdn.com/b/jflavidalle/archive/2011/09/06/developpement-windows-phone-partie-22.aspx" target="_blank">Acc&eacute;der &agrave; un service Web REST</a></li>
<li><a href="http://blogs.msdn.com/b/lgmorand/archive/2011/09/06/developpement-windows-phone-partie-23.aspx" target="_blank">Consommer des donn&eacute;es Windows Azure</a></li>
</ul>
<p><strong>Sondes et autres fonctionnalit&eacute;s sp&eacute;cifiques au t&eacute;l&eacute;phone</strong></p>
<ul>
<li><a href="http://blogs.msdn.com/b/patrick_payet/archive/2011/09/06/developpement-windows-phone-partie-24.aspx" target="_blank">Lanceurs et choosers</a></li>
<li><a href="http://blogs.msdn.com/b/jflavidalle/archive/2011/09/06/developpement-windows-phone-partie-25.aspx" target="_blank">D&eacute;tecter des mouvements (acc&eacute;l&eacute;rom&egrave;tres)</a></li>
<li><a href="http://blogs.msdn.com/b/lgmorand/archive/2011/09/06/developpement-windows-phone-partie-26.aspx" target="_blank">D&eacute;velopper avec le GPS Windows Phone (Services de localisation)</a></li>
<li><a href="http://blogs.msdn.com/b/patrick_payet/archive/2011/09/06/developpement-windows-phone-partie-27.aspx" target="_blank">D&eacute;velopper avec l&rsquo;appareil photo du Windows Phone</a></li>
</ul>
<hr />
<h1>Disposition &agrave; l&rsquo;&eacute;cran</h1>
<p>Silverlight pour Windows Phone 7 fournit un syst&egrave;me de layout qui permet de sp&eacute;cifier comment les contr&ocirc;les sont dispos&eacute;s &agrave; l&rsquo;&eacute;cran. Ce tutoriel d&eacute;crit comment construire une interface utilisateur qui s&rsquo;adapte automatiquement aux diff&eacute;rentes r&eacute;solutions d&rsquo;&eacute;cran.</p>
<p>Ce tutorial contient les sections :</p>
<ul>
<li><a href="http://blogs.msdn.com/b/jflavidalle/archive/2011/09/06/developpement-windows-phone-partie-7.aspx#LayoutOverview">Aper&ccedil;u des Layout</a></li>
<li><a href="http://blogs.msdn.com/b/jflavidalle/archive/2011/09/06/developpement-windows-phone-partie-7.aspx#AbsoluteLayout">Layout Absolu</a></li>
<li><a href="http://blogs.msdn.com/b/jflavidalle/archive/2011/09/06/developpement-windows-phone-partie-7.aspx#DynamicLayout">Layout Dynamique</a></li>
<li><a href="http://blogs.msdn.com/b/jflavidalle/archive/2011/09/06/developpement-windows-phone-partie-7.aspx#PanelControls">Contr&ocirc;les de Panel</a></li>
</ul>
<p>&nbsp;</p>
<h2><a name="LayoutOverview"></a>Aper&ccedil;u des Layout</h2>
<p>Le Layout (mise en page) est le processus de dimensionnement et de positionnement des objets dans vos applications Silverlight pour Windows Phone. Pour disposer des objets visuels, vous devez les placer dans un contr&ocirc;le <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.panel(VS.95).aspx">Panel</a> ou dans un autre container d&rsquo;objets. Silverlight offre de nombreux contr&ocirc;les de <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.panel(VS.95).aspx">Panel</a> comme le <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.canvas(VS.95).aspx">Canvas</a>, le <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.stackpanel(VS.95).aspx">StackPanel</a>, et le <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.grid(VS.95).aspx">Grid</a>, qui servent de containers pour placer et positionner et les contr&ocirc;les.</p>
<p>Le syst&egrave;me de Layout de Silverlight pour Windows Phone supporte le syst&egrave;me de positionnement absolu et le positionnement dynamique. Dans un positionnement absolu, les contr&ocirc;les sont positionn&eacute;s selon des coordonn&eacute;es x/y explicites (par exemple en utilisant un <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.canvas(VS.95).aspx">Canvas</a>). Dans un positionnement dynamique, l&rsquo;interface utilisateur se redimensionne automatiquement en fonction de l&rsquo;espace disponible (par exemple, en utilisant un <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.stackpanel(VS.95).aspx">StackPanel</a> ou un <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.grid(VS.95).aspx">Grid</a>).</p>
<p>&nbsp;</p>
<h2><a name="AbsoluteLayout"></a>Layout Absolu</h2>
<p>Dans un positionnement en Layout Absolu, les &eacute;l&eacute;ments sont plac&eacute;s dans le panel de Layout &agrave; une position exacte relative &agrave; leur &eacute;l&eacute;ment parent. Le positionnement absolu ne prend pas en compte la place disponible &agrave; l&rsquo;&eacute;cran. Si votre application n&eacute;cessite un positionnement absolu des &eacute;l&eacute;ments graphiques, vous devrez d&eacute;signer plusieurs &eacute;crans selon leurs tailles ou utiliser une mise &agrave; l&rsquo;&eacute;chelle comme alternative.</p>
<p>Silverlight pour Windows Phone fournit un contr&ocirc;le de <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.canvas(VS.95).aspx">Canvas</a> qui supporte le positionnement absolu. Par d&eacute;faut, lorsque vous cr&eacute;ez un projet d&rsquo;application, le layout panel utilis&eacute; est un <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.grid(VS.95).aspx">Grid</a>. Pour cr&eacute;er un layout utilisant le positionnement absolu, vous devez remplacer ce <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.grid(VS.95).aspx">Grid</a> par un <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.canvas(VS.95).aspx">Canvas</a>.</p>
<p>Pour disposer des contr&ocirc;les dans un <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.canvas(VS.95).aspx">Canvas</a>, vous devez pr&eacute;ciser les attached properties suivantes sur le contr&ocirc;le lui-m&ecirc;me. Lorsque vous utilisez le designer dans Visual Studio, ces propri&eacute;t&eacute;s sont mises &agrave; jour lorsque vous d&eacute;placez les contr&ocirc;les sur la surface de design.</p>
<p>&nbsp;</p>
<ul>
<li><a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.canvas.left(VS.95).aspx">Canvas.Left</a></li>
<li><a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.canvas.top(VS.95).aspx">Canvas.Top</a></li>
</ul>
<p>&nbsp;</p>
<h2><a name="DynamicLayout"></a>Positionnement Dynamique</h2>
<p>Lorsque vous utilisez le positionnement dynamique, l&rsquo;interface utilisateur s&rsquo;affiche quel que soit la r&eacute;solution de l&rsquo;&eacute;cran. Vous disposez les contr&ocirc;les enfants en pr&eacute;cisant comment ils doivent &ecirc;tre dispos&eacute;s et comment ils doivent effectuer un retour &agrave; la ligne par rapport &agrave; leur parent. Par exemple, vous pouvez disposer des contr&ocirc;les dans un panel et pr&eacute;ciser qu&rsquo;ils doivent s&rsquo;afficher de fa&ccedil;on horizontale. Pour utiliser le redimensionnement automatique ou proportionnel, vous devez sp&eacute;cifier les valeurs des propri&eacute;t&eacute;s <a href="http://msdn.microsoft.com/en-us/library/system.windows.frameworkelement.height(VS.95).aspx">Height</a> et <a href="http://msdn.microsoft.com/en-us/library/system.windows.frameworkelement.width(VS.95).aspx">Width</a>. Voici les param&egrave;tres recommand&eacute;s pour un positionnement dynamique :</p>
<ul>
<li>Affecter la valeur <b>Auto</b> aux propri&eacute;t&eacute;s <a href="http://msdn.microsoft.com/en-us/library/system.windows.frameworkelement.height(VS.95).aspx">Height</a> et <a href="http://msdn.microsoft.com/en-us/library/system.windows.frameworkelement.width(VS.95).aspx">Width</a> du contr&ocirc;le. Lorsque vous utilisez cette valeur pour des contr&ocirc;les contenus dans un layout par <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.grid(VS.95).aspx">Grid</a>, le contr&ocirc;le va remplir la totalit&eacute; de l&rsquo;espace disponible dans la cellule le contenant. Le dimensionnement <b>Auto</b> est support&eacute; par les contr&ocirc;les, le <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.grid(VS.95).aspx">Grid</a> et le <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.stackpanel(VS.95).aspx">StackPanel</a>.</li>
<li>Pour les contr&ocirc;les qui contiennent du texte, supprimez les valeurs des propri&eacute;t&eacute;s <a href="http://msdn.microsoft.com/en-us/library/system.windows.frameworkelement.height(VS.95).aspx">Height</a> et <a href="http://msdn.microsoft.com/en-us/library/system.windows.frameworkelement.width(VS.95).aspx">Width</a>, et pr&eacute;cisez les valeurs des propri&eacute;t&eacute;s <a href="http://msdn.microsoft.com/en-us/library/system.windows.frameworkelement.minwidth(VS.95).aspx">MinWidth</a> ou <a href="http://msdn.microsoft.com/en-us/library/system.windows.frameworkelement.minheight(VS.95).aspx">MinHeight</a>. Ceci emp&ecirc;chera le texte de se compresser &agrave; une taille qui le rendrait illisible.</li>
<li>Pour affecter des tailles proportionnelles pour les &eacute;l&eacute;ments <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.rowdefinition(VS.95).aspx">RowDefinition</a> et <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.columndefinition(VS.95).aspx">ColumnDefinition</a> dans un <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.grid(VS.95).aspx">Grid</a>, utilisez les valeurs relatives <a href="http://msdn.microsoft.com/en-us/library/system.windows.frameworkelement.height(VS.95).aspx">Height</a> et <a href="http://msdn.microsoft.com/en-us/library/system.windows.frameworkelement.width(VS.95).aspx">Width</a>. Par exemple, pour sp&eacute;cifier qu&rsquo;une colonne est cinq fois plus large qu&rsquo;un autre, utilisez "*" et "5*" pour les propri&eacute;t&eacute;s <a href="http://msdn.microsoft.com/en-us/library/system.windows.frameworkelement.width(VS.95).aspx">Width</a> des &eacute;l&eacute;ments <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.columndefinition(VS.95).aspx">ColumnDefinition</a>.</li>
</ul>
<p><b>Dimensionnement Auto et Star</b></p>
<p>Le dimensionnement <b>Auto</b> est utilis&eacute; pour permettre aux contr&ocirc;les de prendre toute la place disponible dans leur conteneur, m&ecirc;me si le conteneur change de taille. Le dimensionnement <b>Star</b>est utilis&eacute; pour r&eacute;partir l&rsquo;espace disponible entre plusieurs ligne et colonnes d&rsquo;une grille en fonction de coefficients. En XAML, la valeur star est indiqu&eacute;s par * (ou n*). Par exemple, si vous disposez d&rsquo;une grille avec quatre colonnes, vous pouvez affecter les valeurs suivantes en largeur de colonnes :</p>
<table border="0" cellspacing="3" cellpadding="0">
<tbody>
<tr>
<td>
<p>Column_1</p>
</td>
<td>
<p>Auto</p>
</td>
<td>
<p>La colonne va se redimensionner en fonction de son contenu.</p>
</td>
</tr>
<tr>
<td>
<p>Column_2</p>
</td>
<td>
<p>*</p>
</td>
<td>
<p>Une fois que la largeur des colonnes Auto a &eacute;t&eacute; calcul&eacute;e, la colonne prend une partie de l&rsquo;espace restant. La Column_2 sera deux fois moins large que la Column_4.</p>
</td>
</tr>
<tr>
<td>
<p>Column_3</p>
</td>
<td>
<p>Auto</p>
</td>
<td>
<p>La colonne va se redimensionner en fonction de son contenu.</p>
</td>
</tr>
<tr>
<td>
<p>Column_4</p>
</td>
<td>
<p>2*</p>
</td>
<td>
<p>Une fois que la largeur des colonnes Auto a &eacute;t&eacute; calcul&eacute;e, la colonne prend une partie de l&rsquo;espace restant. La Column_4 sera deux fois moins plus que la Column_2.</p>
</td>
</tr>
</tbody>
</table>
<p>Pour plus d&rsquo;information sur le dimensionnement Auto et Star, jetez un &oelig;il &agrave; l&rsquo;&eacute;num&eacute;ration <a href="http://msdn.microsoft.com/en-us/library/system.windows.gridunittype(VS.95).aspx">GridUnitType</a>.</p>
<h2>&nbsp;</h2>
<h2><a name="PanelControls"></a>Contr&ocirc;les de Panel</h2>
<p>Les contr&ocirc;les de Layout fournis avec Silverlight pour Windows Phone sont le <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.canvas(VS.95).aspx">Canvas</a>, le <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.stackpanel(VS.95).aspx">StackPanel</a>, et le <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.grid(VS.95).aspx">Grid</a>.</p>
<p><b>Canvas</b></p>
<p>Le <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.canvas(VS.95).aspx">Canvas</a> d&eacute;finit une zone dans laquelle vous pouvez explicitement positionner des &eacute;l&eacute;ments enfants par des coordonn&eacute;es relatives &agrave; la zone d&eacute;limit&eacute;e par le <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.canvas(VS.95).aspx">Canvas</a>. Le <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.canvas(VS.95).aspx">Canvas</a> est utile pour des scenarios dans lesquels les &eacute;l&eacute;ments de l&rsquo;interface qu&rsquo;il contient ne bougeront jamais.</p>
<p>Vous pouvez positionner un contr&ocirc;le dans un <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.canvas(VS.95).aspx">Canvas</a> en pr&eacute;cisant ses coordonn&eacute;es x et y. Les coordonn&eacute;es x et y sont sp&eacute;cifi&eacute;es en utilisant les propri&eacute;t&eacute;s attach&eacute;es <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.canvas.left(VS.95).aspx">Canvas.Left</a> et <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.canvas.top(VS.95).aspx">Canvas.Top</a>. <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.canvas.left(VS.95).aspx">Canvas.Left</a> indique la distance entre l&rsquo;objet et la bordure gauche du <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.canvas(VS.95).aspx">Canvas</a> (la coordonn&eacute;e x), et le <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.canvas.top(VS.95).aspx">Canvas.Top</a> indique la distance entre l&rsquo;objet et la bordure du haut du <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.canvas(VS.95).aspx">Canvas</a> (la coordonn&eacute;e y).</p>
<p>Le XAML suivant illustre le positionnement d&rsquo;un rectangle &agrave; 30 pixels de la gauche et &agrave; 200 pixels du haut d&rsquo;un <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.canvas(VS.95).aspx">Canvas</a>.</p>
<p>&nbsp;</p>
<div style="margin: 0px; display: inline; float: none; padding: 0px;" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:e3d68e4f-3007-4d47-8a47-160c81531d89" class="wlWriterEditableSmartContent">
<div style="border: #000080 1px solid; color: #000; font-family: 'Courier New', Courier, Monospace; font-size: 10pt;">
<div style="background: #000080; color: #fff; font-family: Verdana, Tahoma, Arial, sans-serif; font-weight: bold; padding: 2px 5px;">XAML</div>
<div style="background: #ddd; max-height: 300px; overflow: auto;"><ol style="background: #ffffff; margin: 0 0 0 2em; padding: 0 0 0 5px;" start="1">
<li><span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">Canvas</span><span style="color: #ff0000;"> Background</span><span style="color: #0000ff;">="Transparent"&gt;</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">Rectangle</span><span style="color: #ff0000;"> Canvas.Left</span><span style="color: #0000ff;">="30"</span><span style="color: #ff0000;"> Canvas.Top</span><span style="color: #0000ff;">="200"</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #ff0000;"> Fill</span><span style="color: #0000ff;">="red"</span><span style="color: #ff0000;"> Width</span><span style="color: #0000ff;">="200"</span><span style="color: #ff0000;"> Height</span><span style="color: #0000ff;">="200" /&gt;</span></li>
<li style="background: #f3f3f3;"><span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">Canvas</span><span style="color: #0000ff;">&gt;</span></li>
</ol></div>
</div>
</div>
<p>Ce XAML produit quelque chose similaire &agrave; cette illustration.</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/42/87/metablogapi/8764.clip_image004_2.jpg" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-42-87-metablogapi/8764.clip_5F00_image004_5F00_2.jpg"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="clip_image004" border="0" alt="clip_image004" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/42/87/metablogapi/8741.clip_image004_thumb.jpg" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-42-87-metablogapi/8741.clip_5F00_image004_5F00_thumb.jpg" width="298" height="539" /></a></p>
<p><b>StackPanel</b></p>
<p>Le <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.stackpanel(VS.95).aspx">StackPanel</a> est un contr&ocirc;le de layout simple qui dispose les &eacute;l&eacute;ments enfants selon une ligne qui peut &ecirc;tre orient&eacute;e horizontalement ou verticalement. Vous pouvez utiliser la propri&eacute;t&eacute; <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.stackpanel.orientation(VS.95).aspx">Orientation</a> pour pr&eacute;ciser la direction que doivent prendre les &eacute;l&eacute;ments enfants. Par d&eacute;faut, la propri&eacute;t&eacute; <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.stackpanel.orientation(VS.95).aspx">Orientation</a> est &agrave; la valeur <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.orientation(VS.95).aspx">Vertical</a>. Les <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.stackpanel(VS.95).aspx">StackPanels</a> sont typiquement utilis&eacute;s dans des scenarios dans lesquels vous voulez mettre en page une petite sous-partie de votre interface.</p>
<p>Le XAML suivant illustre la cr&eacute;ation d&rsquo;un StackPanel vertical.</p>
<p>&nbsp;</p>
<div style="margin: 0px; display: inline; float: none; padding: 0px;" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:7cfeec3d-1347-4579-b530-f200978d9972" class="wlWriterEditableSmartContent">
<div style="border: #000080 1px solid; color: #000; font-family: 'Courier New', Courier, Monospace; font-size: 10pt;">
<div style="background: #000080; color: #fff; font-family: Verdana, Tahoma, Arial, sans-serif; font-weight: bold; padding: 2px 5px;">XAML</div>
<div style="background: #ddd; max-height: 300px; overflow: auto;"><ol style="background: #ffffff; margin: 0 0 0 2em; padding: 0 0 0 5px;" start="1">
<li><span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">StackPanel</span><span style="color: #ff0000;"> Margin</span><span style="color: #0000ff;">="20"&gt;</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">Rectangle</span><span style="color: #ff0000;"> Fill</span><span style="color: #0000ff;">="Red"</span><span style="color: #ff0000;"> Width</span><span style="color: #0000ff;">="50"</span><span style="color: #ff0000;"> Height</span><span style="color: #0000ff;">="50"</span><span style="color: #ff0000;"> Margin</span><span style="color: #0000ff;">="5" /&gt;</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">Rectangle</span><span style="color: #ff0000;"> Fill</span><span style="color: #0000ff;">="Blue"</span><span style="color: #ff0000;"> Width</span><span style="color: #0000ff;">="50"</span><span style="color: #ff0000;"> Height</span><span style="color: #0000ff;">="50"</span><span style="color: #ff0000;"> Margin</span><span style="color: #0000ff;">="5" /&gt;</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">Rectangle</span><span style="color: #ff0000;"> Fill</span><span style="color: #0000ff;">="Green"</span><span style="color: #ff0000;"> Width</span><span style="color: #0000ff;">="50"</span><span style="color: #ff0000;"> Height</span><span style="color: #0000ff;">="50"</span><span style="color: #ff0000;"> Margin</span><span style="color: #0000ff;">="5" /&gt;</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">Rectangle</span><span style="color: #ff0000;"> Fill</span><span style="color: #0000ff;">="Purple"</span><span style="color: #ff0000;"> Width</span><span style="color: #0000ff;">="50"</span><span style="color: #ff0000;"> Height</span><span style="color: #0000ff;">="50"</span><span style="color: #ff0000;"> Margin</span><span style="color: #0000ff;">="5" /&gt;</span></li>
<li style="background: #f3f3f3;"><span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">StackPanel</span><span style="color: #0000ff;">&gt;</span></li>
</ol></div>
</div>
</div>
<p>Ce XAML produit quelque chose similaire &agrave; cette illustration.</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/42/87/metablogapi/0815.clip_image006_2.jpg" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-42-87-metablogapi/0815.clip_5F00_image006_5F00_2.jpg"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="clip_image006" border="0" alt="clip_image006" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/42/87/metablogapi/1300.clip_image006_thumb.jpg" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-42-87-metablogapi/1300.clip_5F00_image006_5F00_thumb.jpg" width="261" height="472" /></a></p>
<p><b>Grid</b></p>
<p>Le contr&ocirc;le <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.grid(VS.95).aspx">Grid</a> est le plus flexible des contr&ocirc;les de layout, il supporte le positionnement des contr&ocirc;les dans des layout multi-lignes ou multi colonnes. Vous pouvez sp&eacute;cifier les lignes et colonnes d&rsquo;un <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.grid(VS.95).aspx">Grid</a> en utilisant les propri&eacute;t&eacute;s <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.grid.rowdefinitions(VS.95).aspx">Grid.RowDefinitions</a> et <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.grid.columndefinitions(VS.95).aspx">Grid.ColumnDefinitions</a> d&eacute;clar&eacute;es directement dans le contr&ocirc;le <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.grid(VS.95).aspx">Grid</a>. Vous pouvez positionner un contr&ocirc;le dans une cellule sp&eacute;cifique du <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.grid(VS.95).aspx">Grid</a> en utilisant les propri&eacute;t&eacute;s attach&eacute;es <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.grid.column(VS.95).aspx">Grid.Column</a> et <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.grid.row(VS.95).aspx">Grid.Row</a>. Vous pouvez r&eacute;partir la place disponible entre les colonnes et les lignes en utilisant le dimensionnement Auto ou Star. Le dimensionnement Auto et Star ont &eacute;t&eacute; expliqu&eacute;s plus t&ocirc;t dans ce tutoriel. Le contenu peut s&rsquo;&eacute;tendre que plusieurs lignes ou colonnes en utilisant les propri&eacute;t&eacute;s attach&eacute;es <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.grid.rowspan(VS.95).aspx">RowSpan</a> et <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.grid.columnspan(VS.95).aspx">ColumnSpan</a>.</p>
<p>Les &eacute;l&eacute;ments enfants d&rsquo;un <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.grid(VS.95).aspx">Grid</a> sont dessin&eacute;s dans leur ordre d&rsquo;apparition dans le markup ou dans le code. Ainsi, il est possible de d&eacute;finir l&rsquo;ordre de profondeur (aussi appel&eacute; z-index) pour des &eacute;l&eacute;ments qui ont les m&ecirc;mes coordonn&eacute;es. Pour plus d&rsquo;information, jetez un &oelig;il au <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.canvas.zindex(VS.95).aspx">ZIndex</a>.</p>
<p>Le XAML suivant illustre la cr&eacute;ation d&rsquo;un <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.grid(VS.95).aspx">Grid</a> de trois lignes et de deux colonnes. La hauteur de la premi&egrave;re et de la troisi&egrave;me des lignes est juste assez haute pour afficher le texte. La taille de la deuxi&egrave;me ligne remplit le reste de l&rsquo;espace disponible. La largeur du conteneur est partag&eacute;e &eacute;quitablement entre toutes les colonnes.</p>
<p>&nbsp;</p>
<div style="margin: 0px; display: inline; float: none; padding: 0px;" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:58a1a547-6f7a-4f61-94e2-36b819467813" class="wlWriterEditableSmartContent">
<div style="border: #000080 1px solid; color: #000; font-family: 'Courier New', Courier, Monospace; font-size: 10pt;">
<div style="background: #000080; color: #fff; font-family: Verdana, Tahoma, Arial, sans-serif; font-weight: bold; padding: 2px 5px;">XAML</div>
<div style="background: #ddd; max-height: 300px; overflow: auto;"><ol style="background: #ffffff; margin: 0 0 0 2.5em; padding: 0 0 0 5px;" start="1">
<li><span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">Grid</span><span style="color: #ff0000;"> ShowGridLines</span><span style="color: #0000ff;">="True"</span><span style="color: #ff0000;"> Margin</span><span style="color: #0000ff;">="12,0,12,0"&gt;</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">Grid.RowDefinitions</span><span style="color: #0000ff;">&gt;</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">RowDefinition</span><span style="color: #ff0000;"> Height</span><span style="color: #0000ff;">="auto" /&gt;</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">RowDefinition</span><span style="color: #0000ff;"> /&gt;</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">RowDefinition</span><span style="color: #ff0000;"> Height</span><span style="color: #0000ff;">="auto" /&gt;</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">Grid.RowDefinitions</span><span style="color: #0000ff;">&gt;</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">Grid.ColumnDefinitions</span><span style="color: #0000ff;">&gt;</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">ColumnDefinition</span><span style="color: #ff0000;"> Width</span><span style="color: #0000ff;">="*" /&gt;</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">ColumnDefinition</span><span style="color: #ff0000;"> Width</span><span style="color: #0000ff;">="*" /&gt;</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">Grid.ColumnDefinitions</span><span style="color: #0000ff;">&gt;</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">TextBox</span><span style="color: #ff0000;"> Text</span><span style="color: #0000ff;">="1st row 1st column"</span><span style="color: #ff0000;"> TextWrapping</span><span style="color: #0000ff;">="Wrap"</span><span style="color: #ff0000;"> Grid.Column</span><span style="color: #0000ff;">="0"</span><span style="color: #ff0000;"> Grid.Row</span><span style="color: #0000ff;">="0" /&gt;</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">TextBox</span><span style="color: #ff0000;"> Text</span><span style="color: #0000ff;">="3rd row 1st column"</span><span style="color: #ff0000;"> TextWrapping</span><span style="color: #0000ff;">="Wrap"</span><span style="color: #ff0000;"> Grid.Column</span><span style="color: #0000ff;">="0"</span><span style="color: #ff0000;"> Grid.Row</span><span style="color: #0000ff;">="2" /&gt;</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">Button</span><span style="color: #ff0000;"> Content</span><span style="color: #0000ff;">="1st row 3rd column"</span><span style="color: #ff0000;"> FontSize</span><span style="color: #0000ff;">="17"</span><span style="color: #ff0000;"> Grid.Column</span><span style="color: #0000ff;">="1"</span><span style="color: #ff0000;"> Grid.Row</span><span style="color: #0000ff;">="0" /&gt;</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">Button</span><span style="color: #ff0000;"> Content</span><span style="color: #0000ff;">="3rd row 2nd column"</span><span style="color: #ff0000;"> FontSize</span><span style="color: #0000ff;">="17"</span><span style="color: #ff0000;"> Grid.Column</span><span style="color: #0000ff;">="1"</span><span style="color: #ff0000;"> Grid.Row</span><span style="color: #0000ff;">="2" /&gt;</span></li>
<li><span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">Grid</span><span style="color: #0000ff;">&gt;</span></li>
</ol></div>
</div>
</div>
<p>Ce XAML produit quelque chose similaire &agrave; cette illustration.</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/42/87/metablogapi/2047.clip_image008_2.jpg" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-42-87-metablogapi/2047.clip_5F00_image008_5F00_2.jpg"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="clip_image008" border="0" alt="clip_image008" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/42/87/metablogapi/2548.clip_image008_thumb.jpg" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-42-87-metablogapi/2548.clip_5F00_image008_5F00_thumb.jpg" width="291" height="525" /></a></p>
<p>Si vous cr&eacute;ez un layout complexe qui n&rsquo;est pas facilement r&eacute;alisable avec un <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.canvas(VS.95).aspx">Canvas</a>, un <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.stackpanel(VS.95).aspx">StackPanel</a>, ou un <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.grid(VS.95).aspx">Grid</a>, vous pouvez cr&eacute;er votre propre custom panel, qui vous permettra de d&eacute;finir le comportement que vous voulez pour la disposition des &eacute;l&eacute;ments enfants. Pour faire cela, d&eacute;rivez de la classe <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.panel(VS.95).aspx">Panel</a> et surchargez les m&eacute;thodes <a href="http://msdn.microsoft.com/en-us/library/system.windows.frameworkelement.measureoverride(VS.95).aspx">MeasureOverride</a> et <a href="http://msdn.microsoft.com/en-us/library/system.windows.frameworkelement.arrangeoverride(VS.95).aspx">ArrangeOverride</a>. Pour plus d&rsquo;information, jetez un &oelig;il &agrave; <a href="http://msdn.microsoft.com/en-us/library/cc903936(VS.95).aspx">Custom Panels</a>.</p>
<p>A voir</p>
<ul>
<li><a href="http://msdn.microsoft.com/en-us/library/cc645025(VS.95).aspx">Silverlight Layout System</a></li>
<li><a href="http://msdn.microsoft.com/en-us/library/cc903936(VS.95).aspx">Custom Panels</a></li>
<li><a href="http://msdn.microsoft.com/en-us/library/cc896566(VS.95).aspx">Layout Rounding</a></li>
<li><a href="http://msdn.microsoft.com/en-us/library/dd470089(VS.95).aspx">Designing a Flexible User Interface</a></li>
</ul>
<hr />
<p><a href="#sommaire">Cliquez ici pour revenir au sommaire de la liste d&rsquo;articles</a></p>]]></content:encoded>
    </item>
    <item>
      <title>Developpement Windows Phone - partie 4</title>
      <link>https://docs.microsoft.com/archive/blogs/jflavidalle/developpement-windows-phone-partie-4</link>
      <pubDate>Tue, 06 Sep 2011 13:04:00 GMT</pubDate>
      <dc:creator><![CDATA[JFLavidalle]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/jflavidalle/2011/09/06/developpement-windows-phone-partie-4/</guid>
      <description><![CDATA[Cet article fait partie d&rsquo;une s&eacute;rie d&rsquo;articles sur le d&eacute;veloppement...]]></description>
      <content:encoded><![CDATA[<p>Cet article fait partie d&rsquo;une s&eacute;rie d&rsquo;articles sur le d&eacute;veloppement Windows Phone. Il s&rsquo;agit d&rsquo;une traduction des articles se trouvant <a href="http://create.msdn.com/en-us/education/quickstarts" target="_blank">sur la MSDN</a>.</p>
<p><a name="sommaire"></a>Sommaire</p>
<p><strong>Bien d&eacute;buter et fondamentaux</strong></p>
<ul>
<li><a href="http://blogs.msdn.com/b/jflavidalle/archive/2011/09/06/developpement-windows-phone-partie-1.aspx" target="_blank">Bien d&eacute;marrer (Hello World)</a></li>
<li><a href="http://blogs.msdn.com/b/lgmorand/archive/2011/09/06/developpement-windows-phone-partie-2.aspx" target="_blank">Cr&eacute;er une interface utilisateur pour Windows Phone en XAML</a></li>
<li><a href="http://blogs.msdn.com/b/patrick_payet/archive/2011/09/06/developpement-windows-phone-partie-3.aspx" target="_blank">Utiliser des contr&ocirc;les</a></li>
<li><a href="http://blogs.msdn.com/b/jflavidalle/archive/2011/09/06/developpement-windows-phone-partie-4.aspx" target="_blank">Types de contr&ocirc;les</a></li>
<li><a href="http://blogs.msdn.com/b/lgmorand/archive/2011/09/06/developpement-windows-phone-partie-5.aspx" target="_blank">Contr&ocirc;les Panorama et Pivot</a></li>
<li><a href="http://blogs.msdn.com/b/patrick_payet/archive/2011/09/06/developpement-windows-phone-partie-6.aspx" target="_blank">Travailler avec du texte sur le Windows Phone</a></li>
<li><a href="http://blogs.msdn.com/b/jflavidalle/archive/2011/09/06/developpement-windows-phone-partie-7.aspx" target="_blank">Mise en page sur l&rsquo;&eacute;cran</a></li>
<li><a href="http://blogs.msdn.com/b/lgmorand/archive/2011/09/06/developpement-windows-phone-partie-8.aspx" target="_blank">Orientations de l&rsquo;&eacute;cran</a></li>
<li><a href="http://blogs.msdn.com/b/patrick_payet/archive/2011/09/06/developpement-windows-phone-partie-9.aspx" target="_blank">Saisie tactile</a></li>
<li><a href="http://blogs.msdn.com/b/jflavidalle/archive/2011/09/06/developpement-windows-phone-partie-10.aspx" target="_blank">Navigation</a></li>
<li><a href="http://blogs.msdn.com/b/lgmorand/archive/2011/09/06/developpement-windows-phone-partie-11.aspx" target="_blank">Ex&eacute;cuter votre application en arri&egrave;re-plan (tombstoning)</a></li>
<li><a href="http://blogs.msdn.com/b/patrick_payet/archive/2011/09/06/developpement-windows-phone-partie-12.aspx" target="_blank">Notifications Push pour le d&eacute;veloppement Windows Phone</a></li>
<li><a href="http://blogs.msdn.com/b/jflavidalle/archive/2011/09/06/developpement-windows-phone-partie-13.aspx" target="_blank">Publier votre application sur le Marketplace</a></li>
</ul>
<p><strong>Visuels et m&eacute;dia</strong></p>
<ul>
<li><a href="http://blogs.msdn.com/b/lgmorand/archive/2011/09/06/developpement-windows-phone-partie-14.aspx" target="_blank">Images</a></li>
<li><a href="http://blogs.msdn.com/b/patrick_payet/archive/2011/09/06/developpement-windows-phone-partie-15.aspx" target="_blank">Animations</a></li>
<li><a href="http://blogs.msdn.com/b/jflavidalle/archive/2011/09/06/developpement-windows-phone-partie-16.aspx" target="_blank">Vid&eacute;o et Audio</a></li>
<li><a href="http://blogs.msdn.com/b/lgmorand/archive/2011/09/06/developpement-windows-phone-partie-17.aspx" target="_blank">Graphiques</a></li>
<li><a href="http://blogs.msdn.com/b/patrick_payet/archive/2011/09/06/developpement-windows-phone-partie-18.aspx" target="_blank">Pinceaux</a></li>
</ul>
<p><strong>Travailler avec les donn&eacute;es</strong></p>
<ul>
<li><a href="http://blogs.msdn.com/b/jflavidalle/archive/2011/09/06/developpement-windows-phone-partie-19.aspx" target="_blank">Obtenir des donn&eacute;es dans vos applications Windows Phone</a></li>
<li><a href="http://blogs.msdn.com/b/lgmorand/archive/2011/09/06/developpement-windows-phone-partie-20.aspx" target="_blank">Data binding</a></li>
<li><a href="http://blogs.msdn.com/b/patrick_payet/archive/2011/09/06/developpement-windows-phone-partie-21.aspx" target="_blank">Isolated storage</a></li>
<li><a href="http://blogs.msdn.com/b/jflavidalle/archive/2011/09/06/developpement-windows-phone-partie-22.aspx" target="_blank">Acc&eacute;der &agrave; un service Web REST</a></li>
<li><a href="http://blogs.msdn.com/b/lgmorand/archive/2011/09/06/developpement-windows-phone-partie-23.aspx" target="_blank">Consommer des donn&eacute;es Windows Azure</a></li>
</ul>
<p><strong>Sondes et autres fonctionnalit&eacute;s sp&eacute;cifiques au t&eacute;l&eacute;phone</strong></p>
<ul>
<li><a href="http://blogs.msdn.com/b/patrick_payet/archive/2011/09/06/developpement-windows-phone-partie-24.aspx" target="_blank">Lanceurs et choosers</a></li>
<li><a href="http://blogs.msdn.com/b/jflavidalle/archive/2011/09/06/developpement-windows-phone-partie-25.aspx" target="_blank">D&eacute;tecter des mouvements (acc&eacute;l&eacute;rom&egrave;tres)</a></li>
<li><a href="http://blogs.msdn.com/b/lgmorand/archive/2011/09/06/developpement-windows-phone-partie-26.aspx" target="_blank">D&eacute;velopper avec le GPS Windows Phone (Services de localisation)</a></li>
<li><a href="http://blogs.msdn.com/b/patrick_payet/archive/2011/09/06/developpement-windows-phone-partie-27.aspx" target="_blank">D&eacute;velopper avec l&rsquo;appareil photo du Windows Phone</a></li>
</ul>
<hr />
<h1>Les types de Contr&ocirc;les</h1>
<p>Il y a plusieurs types de contr&ocirc;les que vous pouvez utiliser dans les applications Windows Phone7. Quelques-uns de ces contr&ocirc;les sont aussi disponibles dans Silverlight et d&rsquo;autres ne sont disponibles que pour Windows Phone. Ce tutoriel liste les contr&ocirc;les disponibles sur les applications Silverlight pour Windows Phone et d&eacute;taille comment utiliser ces contr&ocirc;les.</p>
<p>Ce tutorial contient les sections suivantes :</p>
<ul>
<li><a href="http://blogs.msdn.com/b/jflavidalle/archive/2011/09/06/developpement-windows-phone-partie-4.aspx#Navigation">Contr&ocirc;les de Navigation</a></li>
<li><a href="http://blogs.msdn.com/b/jflavidalle/archive/2011/09/06/developpement-windows-phone-partie-4.aspx#Layout">Contr&ocirc;les de Layout et de Groupings</a></li>
<li><a href="http://blogs.msdn.com/controlpanel/blogs/posteditor.aspx/<a href=&quot;/b/jflavidalle/archive/2011/09/06/developpement-windows-phone-partie-4.aspx#Text&quot;>Contr&amp;ocirc;les de texte</a>">Contr&ocirc;les de texte</a></li>
<li><a href="http://blogs.msdn.com/b/jflavidalle/archive/2011/09/06/developpement-windows-phone-partie-4.aspx#Button">Boutons et contr&ocirc;les de S&eacute;lection</a></li>
<li><a href="http://blogs.msdn.com/controlpanel/blogs/posteditor.aspx/<a href=&quot;/b/jflavidalle/archive/2011/09/06/developpement-windows-phone-partie-4.aspx#List&quot;>Contr&amp;ocirc;les de liste</a>">Contr&ocirc;les de liste</a></li>
<li><a href="http://blogs.msdn.com/b/jflavidalle/archive/2011/09/06/developpement-windows-phone-partie-4.aspx#ImageMapMedia">Contr&ocirc;les pour Images, Cartes et Medias</a></li>
<li><a href="http://blogs.msdn.com/b/jflavidalle/archive/2011/09/06/developpement-windows-phone-partie-4.aspx#HTML">Contr&ocirc;les HTML</a></li>
<li><a href="http://blogs.msdn.com/b/jflavidalle/archive/2011/09/06/developpement-windows-phone-partie-4.aspx#ProgressMessage">Contr&ocirc;les de Progress et de Message</a></li>
<li><a href="http://blogs.msdn.com/b/jflavidalle/archive/2011/09/06/developpement-windows-phone-partie-4.aspx#Toolkit">Contr&ocirc;les du Toolkit</a></li>
</ul>
<p>&nbsp;</p>
<h2><a name="Navigation"></a>Contr&ocirc;les de Navigation</h2>
<p>Les applications Silverlight pour Windows Phone sont bas&eacute;es sur un mod&egrave;le par page dans lequel l&lsquo;utilisateur navigue dans diff&eacute;rentes pages de contenu. Ce mod&egrave;le est bas&eacute; sur un contr&ocirc;le de frame qui contient les contr&ocirc;les de pages dans lesquels l&rsquo;utilisateur navigue. Les pages contiennent des contr&ocirc;les de mise en page (layout) qui, &agrave; leur tour, contiennent d&rsquo;autres contr&ocirc;les. Pour plus d&rsquo;information sur les frames et la navigation par page, jetez un &oelig;il &agrave; <a href="http://msdn.microsoft.com/en-us/library/ff402536(VS.92).aspx">Frame and Page Navigation Overview for Windows Phone</a>. La table ci-dessous contient la liste des contr&ocirc;les utilis&eacute;s pour naviguer dans les applications pour Windows Phone.</p>
<table border="0" cellspacing="3" cellpadding="0">
<tbody>
<tr>
<td>
<p><b>Contr&ocirc;le </b></p>
</td>
<td>
<p><b>Emplacement </b></p>
</td>
<td>
<p><b>Notes </b></p>
</td>
</tr>
<tr>
<td>
<p><a href="http://msdn.microsoft.com/en-us/library/microsoft.phone.controls.phoneapplicationframe(VS.92).aspx">PhoneApplicationFrame</a></p>
</td>
<td>
<p>Microsoft.Phone assembly</p>
</td>
<td>
<p>Le contr&ocirc;le principal des applications Silverlight pour Windows Phone. Ce contr&ocirc;le supporte la navigation entre pages.</p>
</td>
</tr>
<tr>
<td>
<p><a href="http://msdn.microsoft.com/en-us/library/microsoft.phone.controls.phoneapplicationpage(VS.92).aspx">PhoneApplicationPage</a></p>
</td>
<td>
<p>Microsoft.Phone assembly</p>
</td>
<td>
<p>Encapsule le contenu cible de la navigation via <a href="http://msdn.microsoft.com/en-us/library/microsoft.phone.controls.phoneapplicationframe(VS.92).aspx">PhoneApplicationFrame</a>.</p>
</td>
</tr>
</tbody>
</table>
<p>L&rsquo;illustration ci-dessous montre les frames et pages.</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/42/87/metablogapi/5807.clip_image004_2.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-42-87-metablogapi/5807.clip_5F00_image004_5F00_2.png"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="clip_image004" border="0" alt="clip_image004" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/42/87/metablogapi/1581.clip_image004_thumb.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-42-87-metablogapi/1581.clip_5F00_image004_5F00_thumb.png" width="222" height="380" /></a></p>
<h2><a name="Layout"></a>Contr&ocirc;les de Layout et de Grouping</h2>
<p>Des contr&ocirc;les qui contiennent d&rsquo;autres contr&ocirc;les sont souvent qualifi&eacute;s de contr&ocirc;les de Layout. Les contr&ocirc;les de Layout sont des containers pour d&rsquo;autres contr&ocirc;les et des objets visuels. Comme le nom le sugg&egrave;re, les contr&ocirc;les de Layout sont utilis&eacute;s pour positionner ces ensembles d&rsquo;objets contenus &agrave; l&rsquo;&eacute;cran. Un contr&ocirc;le de Layout est utilis&eacute; en tant que <i>layout root</i> de votre application au sein d&rsquo;une page. Tous les autres objets de votre interface sont contenus dans cette racine. Vous pouvez utiliser d&rsquo;autres contr&ocirc;les de Layout &agrave; l&rsquo;int&eacute;rieur m&ecirc;me de la racine de Layout selon vos besoins. Lorsque vous cr&eacute;ez une nouvelle application Windows Phone, un contr&ocirc;le de <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.grid(VS.95).aspx">Grid</a> qui sert de racine de Layout est automatiquement cr&eacute;&eacute;. Vous ajouterez d&rsquo;autres contr&ocirc;les &agrave; la zone de contenu. De plus, vous devrez prendre en compte le support du mode portrait et paysage de votre application lorsque vous choisirez les contr&ocirc;les de Layout de votre application. Pour plus de d&eacute;tails sur l&rsquo;orientation, jetez un &oelig;il &agrave; <a href="http://blogs.msdn.com/b/lgmorand/archive/2011/09/06/developpement-windows-phone-partie-8.aspx">Screen Orientations QuickStart</a>.</p>
<p>La plupart des contr&ocirc;les de Layout d&eacute;rivent de la classe <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.panel(VS.95).aspx">Panel</a>. Quelques exemples de contr&ocirc;les de Layout qui d&eacute;rivent du panel sont le <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.StackPanel(VS.95).aspx">StackPanel</a>, <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.canvas(VS.95).aspx">Canvas</a>, et le <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.grid(VS.95).aspx">Grid</a>. Il y deux autres contr&ocirc;les, <a href="http://msdn.microsoft.com/en-us/library/microsoft.phone.controls.panorama(VS.92).aspx">Panorama</a> et <a href="http://msdn.microsoft.com/en-us/library/microsoft.phone.controls.pivot(VS.92).aspx">Pivot</a>, que vous pouvez utiliser pour g&eacute;rer la disposition des contr&ocirc;les dans vos applications. Les contr&ocirc;les <a href="http://msdn.microsoft.com/en-us/library/microsoft.phone.controls.pivot(VS.92).aspx">Pivot</a> et <a href="http://msdn.microsoft.com/en-us/library/microsoft.phone.controls.panorama(VS.92).aspx">Panorama</a> d&eacute;rivent d&rsquo;<a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.itemscontrol(VS.95).aspx">ItemsControl</a> et ont &eacute;t&eacute; cr&eacute;&eacute;s sp&eacute;cifiquement pour les applications Silverlight pour Windows Phone. Ces contr&ocirc;les sont diff&eacute;rents des contr&ocirc;les items classiques, car ils sont cens&eacute;s contenir un faible nombre d&rsquo;&eacute;l&eacute;ments au contraire des contr&ocirc;les d&rsquo;items classiques qui peuvent contenir des listes plus importantes. Ces contr&ocirc;les permettent &agrave; l&rsquo;utilisateur de naviguer intuitivement entre leurs diff&eacute;rents items.</p>
<p>La table suivante contient la liste des contr&ocirc;les qui sont utilis&eacute;s pour la disposition et le regroupement des &eacute;l&eacute;ments dans les applications Windows Phones.</p>
<table border="0" cellspacing="3" cellpadding="0">
<tbody>
<tr>
<td>
<p><b>Contr&ocirc;le </b></p>
</td>
<td>
<p><b>Emplacement </b></p>
</td>
<td>
<p><b>Notes </b></p>
</td>
</tr>
<tr>
<td>
<p><a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.border(VS.95).aspx">Border</a></p>
</td>
<td>
<p>Silverlight System.Windows assembly</p>
</td>
<td>
<p>Ajoute une bordure, un fond, ou les deux, &agrave; un autre contr&ocirc;le.</p>
</td>
</tr>
<tr>
<td>
<p><a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.canvas(VS.95).aspx">Canvas</a></p>
</td>
<td>
<p>Silverlight System.Windows assembly</p>
</td>
<td>
<p>Fournit une surface pour afficher les &eacute;l&eacute;ments enfant &agrave; des coordonn&eacute;es bien pr&eacute;cises.</p>
</td>
</tr>
<tr>
<td>
<p><a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.contentcontrol(VS.95).aspx">ContentControl</a></p>
</td>
<td>
<p>Silverlight System.Windows assembly</p>
</td>
<td>
<p>Repr&eacute;sente un container contenant uniquement un enfant. Le contr&ocirc;le enfant est un objet, l&rsquo;enfant peut donc contenir un contr&ocirc;le de Layout avec des enfants additionnels.</p>
</td>
</tr>
<tr>
<td>
<p><a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.grid(VS.95).aspx">Grid</a></p>
</td>
<td>
<p>Silverlight System.Windows assembly</p>
</td>
<td>
<p>Fournit une surface d&eacute;coup&eacute;e en lignes et en colonnes pour afficher les &eacute;l&eacute;ments enfants. Vous d&eacute;finissez le nombre de lignes et de colonnes, et vous assignez ensuite les objets &agrave; une ligne ou une colonne sp&eacute;cifique dans la grille.</p>
</td>
</tr>
<tr>
<td>
<p><a href="http://msdn.microsoft.com/en-us/library/microsoft.phone.controls.panorama(VS.92).aspx">Panorama</a></p>
</td>
<td>
<p>Microsoft.Phone.Controls assembly</p>
</td>
<td>
<p>Cr&eacute;e une vue panoramique des &eacute;l&eacute;ments qui peuvent &ecirc;tre affich&eacute;s c&ocirc;t&eacute; &agrave; c&ocirc;t&eacute;. <b>Seulement pour Silverlight pour Windows Phone</b>.</p>
</td>
</tr>
<tr>
<td>
<p><a href="http://msdn.microsoft.com/en-us/library/microsoft.phone.controls.pivot(VS.92).aspx">Pivot</a></p>
</td>
<td>
<p>Microsoft.Phone.Controls assembly</p>
</td>
<td>
<p>Fourni une fa&ccedil;on simple de visualiser de grands ensembles d&rsquo;&eacute;l&eacute;ments dans une application. Ce contr&ocirc;le peut &ecirc;tre utilise comme interface de navigation pour filtrer de grands ensembles d&rsquo;&eacute;l&eacute;ments et basculer entre diff&eacute;rentes vues. <b>Seulement pour Silverlight pour Windows Phone</b>.</p>
</td>
</tr>
<tr>
<td>
<p><a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.stackpanel(VS.95).aspx">StackPanel</a></p>
</td>
<td>
<p>Silverlight System.Windows assembly</p>
</td>
<td>
<p>Fourni une surface pour afficher les &eacute;l&eacute;ments enfants en ligne, verticalement ou horizontalement.</p>
</td>
</tr>
<tr>
<td>
<p><a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.virtualizingstackpanel(VS.95).aspx">VirtualizingStackPanel</a></p>
</td>
<td>
<p>Silverlight System.Windows assembly</p>
</td>
<td>
<p>Fourni un contr&ocirc;le stack panel qui arrange son contenu visible &agrave; l&rsquo;&eacute;cran, cr&eacute;ant les &eacute;l&eacute;ments graphiques n&eacute;cessaires. <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.virtualizingstackpanel(VS.95).aspx">VirtualizingStackPanel</a> a de meilleures performances que le <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.stackpanel(VS.95).aspx">StackPanel</a> lorsqu&rsquo;il s&rsquo;agit d&rsquo;afficher de larges ensembles d&rsquo;&eacute;l&eacute;ments.</p>
</td>
</tr>
<tr>
<td>
<p><a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.scrollviewer(VS.95).aspx">ScrollViewer</a></p>
</td>
<td>
<p>Silverlight System.Windows assembly</p>
</td>
<td>
<p>Fourni une surface scrollable pour afficher les &eacute;l&eacute;ments enfants.</p>
</td>
</tr>
</tbody>
</table>
<p>Pour plus d&rsquo;information sur les contr&ocirc;les de layout en Silverlight, jetez un &oelig;il sur <a href="http://blogs.msdn.com/b/jflavidalle/archive/2011/09/06/developpement-windows-phone-partie-7.aspx">Layout QuickStart</a>. Pour plus d&rsquo;information sur les contr&ocirc;les <a href="http://msdn.microsoft.com/en-us/library/microsoft.phone.controls.pivot(VS.92).aspx">Pivot</a> et <a href="http://msdn.microsoft.com/en-us/library/microsoft.phone.controls.panorama(VS.92).aspx">Panorama</a>, jetez un &oelig;il &agrave; <a href="http://msdn.microsoft.com/en-us/library/ff941098(VS.92).aspx">Pivot Control Overview</a> et <a href="http://msdn.microsoft.com/en-us/library/ff941104(VS.92).aspx">Panorama Control Overview</a>.</p>
<p>L&rsquo;image suivante montre quelques une des contr&ocirc;les de Layout utilis&eacute;e en mode portrait et paysage. Dans cette image un <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.StackPanel(VS.95).aspx">StackPanel</a> et un <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.Canvas(VS.95).aspx">Canvas</a> sont contenus dans un <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.Grid(VS.95).aspx">Grid</a>, qui utilise un syst&egrave;me de disposition par colonne et ligne.</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/42/87/metablogapi/0027.clip_image006_2.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-42-87-metablogapi/0027.clip_5F00_image006_5F00_2.png"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="clip_image006" border="0" alt="clip_image006" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/42/87/metablogapi/4721.clip_image006_thumb.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-42-87-metablogapi/4721.clip_5F00_image006_5F00_thumb.png" width="429" height="270" /></a></p>
<p>L&rsquo;image suivante montre le contr&ocirc;le <a href="http://msdn.microsoft.com/en-us/library/microsoft.phone.controls.panorama(VS.92).aspx">Panorama</a> et comment il peut &ecirc;tre utilis&eacute; pour affiche une vue sur du contenu horizontal.</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/42/87/metablogapi/3250.clip_image008_2.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-42-87-metablogapi/3250.clip_5F00_image008_5F00_2.png"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="clip_image008" border="0" alt="clip_image008" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/42/87/metablogapi/8015.clip_image008_thumb.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-42-87-metablogapi/8015.clip_5F00_image008_5F00_thumb.png" width="434" height="387" /></a></p>
<h2><a name="Text"></a>Contr&ocirc;les de texte</h2>
<p>Les contr&ocirc;les de texte affichent classiquement du contenu textuel. Il y a diff&eacute;rents types des contr&ocirc;les de tests pour diff&eacute;rents usages. Pour plus d&rsquo;information, jetez un &oelig;il au <a href="http://blogs.msdn.com/b/patrick_payet/archive/2011/09/06/developpement-windows-phone-partie-6.aspx">Text QuickStart</a>. Le tableau ci-dessous contient la liste des contr&ocirc;les de textes utilis&eacute;s dans les applications pour Windows Phone.</p>
<table border="0" cellspacing="3" cellpadding="0">
<tbody>
<tr>
<td>
<p><b>Contr&ocirc;le </b></p>
</td>
<td>
<p><b>Emplacement </b></p>
</td>
<td>
<p><b>Notes </b></p>
</td>
</tr>
<tr>
<td>
<p><a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.textblock(VS.95).aspx">TextBlock</a></p>
</td>
<td>
<p>Silverlight System.Windows assembly</p>
</td>
<td>
<p>Utilisez ce contr&ocirc;le pour affiche un texte simple, en lecture seule. Le contenu est affect&eacute; &agrave; travers la propri&eacute;t&eacute; <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.textblock.text(v=VS.95).aspx">Text</a>.</p>
</td>
</tr>
<tr>
<td>
<p><a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.textbox(VS.95).aspx">TextBox</a></p>
</td>
<td>
<p>Silverlight System.Windows assembly</p>
</td>
<td>
<p>Utilise habituellement pour les saisies de texte de petite taille. Toutefois, vous pouvez aussi l&rsquo;utiliser pour des saisies plus importantes sur plusieurs lignes. Le contenu est affect&eacute; &agrave; travers la propri&eacute;t&eacute; <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.textbox.text(v=VS.95).aspx">Text</a>.</p>
</td>
</tr>
<tr>
<td>
<p><a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.passwordbox(VS.95).aspx">PasswordBox</a></p>
</td>
<td>
<p>Silverlight System.Windows assembly</p>
</td>
<td>
<p>Masque le texte saisi par l&rsquo;utilisateur. Le contenu est disponible dans la propri&eacute;t&eacute; <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.passwordbox.password(v=VS.95).aspx">Password</a> et est masque via la propri&eacute;t&eacute; <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.passwordbox.passwordchar(v=VS.95).aspx">PasswordChar</a>.</p>
</td>
</tr>
</tbody>
</table>
<p>L&rsquo;image suivante illustre ces contr&ocirc;les.</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/42/87/metablogapi/8446.clip_image010_2.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-42-87-metablogapi/8446.clip_5F00_image010_5F00_2.png"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="clip_image010" border="0" alt="clip_image010" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/42/87/metablogapi/4721.clip_image010_thumb.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-42-87-metablogapi/4721.clip_5F00_image010_5F00_thumb.png" width="259" height="479" /></a></p>
<h2><a name="Button"></a>Boutons et contr&ocirc;les de S&eacute;lection</h2>
<p>Les boutons et les contr&ocirc;les de s&eacute;lection proposent &agrave; l&rsquo;utilisateur de choisir et de naviguer rapidement dans l&rsquo;application. La plupart des boutons et des contr&ocirc;les de s&eacute;lections d&eacute;rivent de <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.contentcontrol(VS.95).aspx">ContentControl</a>, ce qui veut dire que vous pouvez ajouter du contenu &agrave; travers la propri&eacute;t&eacute; <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.contentcontrol.content(VS.95).aspx">Content</a>. La propri&eacute;t&eacute; <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.contentcontrol.content(VS.95).aspx">Content</a> est de type <a href="http://msdn.microsoft.com/en-us/library/system.object(VS.95).aspx">Object</a>, il y a donc tr&egrave;s peu de restrictions sur ce que ce type de contr&ocirc;le peut contenir. Puisque beaucoup de classes d&eacute;rivant de <a href="http://msdn.microsoft.com/en-us/library/system.object(VS.95).aspx">Object</a> peuvent contenir d&rsquo;autres contr&ocirc;les, vous pouvez cr&eacute;er des hi&eacute;rarchies de contr&ocirc;les dans un <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.contentcontrol(VS.95).aspx">ContentControl</a>. Par exemple, vous pouvez affecter dans la propri&eacute;t&eacute; <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.contentcontrol.content(VS.95).aspx">Content</a> d&rsquo;un bouton, un <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.stackpanel(VS.95).aspx">StackPanel</a>&nbsp;qui contiendra lui-m&ecirc;me une image et du texte. Le tableau ci-dessous contient la liste des contr&ocirc;les boutons.</p>
<table border="0" cellspacing="3" cellpadding="0">
<tbody>
<tr>
<td>
<p><b>Contr&ocirc;le </b></p>
</td>
<td>
<p><b>Emplacement </b></p>
</td>
<td>
<p><b>Notes </b></p>
</td>
</tr>
<tr>
<td>
<p><a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.button(VS.95).aspx">Button</a></p>
</td>
<td>
<p>Silverlight System.Windows assembly</p>
</td>
<td>
<p>Un contr&ocirc;le qui r&eacute;pond aux interactions de l&rsquo;utilisateur et d&eacute;clenche un &eacute;v&egrave;nement <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.primitives.buttonbase.click(v=VS.95).aspx">Click</a>. Le contenu est affect&eacute; via la propri&eacute;t&eacute; <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.contentcontrol.content(v=VS.95).aspx">Content</a>.</p>
</td>
</tr>
<tr>
<td>
<p><a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.hyperlinkbutton(VS.95).aspx">HyperlinkButton</a></p>
</td>
<td>
<p>Silverlight System.Windows assembly</p>
</td>
<td>
<p>Repr&eacute;sente un bouton qui contient un lien hypertexte. Quand il est cliqu&eacute;, l&rsquo; <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.hyperlinkbutton(VS.95).aspx">HyperlinkButton</a> permet &agrave; l&rsquo;utilisateur d&rsquo;aller sur un page Web dans l&rsquo;application elle-m&ecirc;me, ou sur une page Web qui est externe &agrave; l&rsquo;application courante. Le contenu est affect&eacute; via la propri&eacute;t&eacute; <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.contentcontrol.content(v=VS.95).aspx">Content</a> et l&rsquo;URL de navigation est affect&eacute;e via la propri&eacute;t&eacute; <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.hyperlinkbutton.navigateuri(v=VS.95).aspx">NavigateUri</a>.</p>
</td>
</tr>
</tbody>
</table>
<p>La table suivante contient la liste des contr&ocirc;les de s&eacute;lection.</p>
<table border="0" cellspacing="3" cellpadding="0">
<tbody>
<tr>
<td>
<p><b>Contr&ocirc;le </b></p>
</td>
<td>
<p><b>Emplacement </b></p>
</td>
<td>
<p><b>Notes </b></p>
</td>
</tr>
<tr>
<td>
<p><a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.checkbox(VS.95).aspx">CheckBox</a></p>
</td>
<td>
<p>Silverlight System.Windows assembly</p>
</td>
<td>
<p>Repr&eacute;sente un contr&ocirc;le que l&rsquo;utilisateur peut s&eacute;lectionner ou vider. Un CheckBox peut aussi proposer un &eacute;tat ind&eacute;termin&eacute;. Le contenu est affect&eacute; via la propri&eacute;t&eacute; <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.contentcontrol.content(v=VS.95).aspx">Content</a>.</p>
</td>
</tr>
<tr>
<td>
<p><a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.radiobutton(VS.95).aspx">RadioButton</a></p>
</td>
<td>
<p>Silverlight System.Windows assembly</p>
</td>
<td>
<p>Permet &agrave; l&rsquo;utilisateur de s&eacute;lectionner une option parmi une liste. Lorsque des RadioButtons sont regroup&eacute;s ensemble ils sont mutuellement exclusifs. Le contenu est affect&eacute; via la propri&eacute;t&eacute; <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.contentcontrol.content(v=VS.95).aspx">Content</a>.</p>
</td>
</tr>
<tr>
<td>
<p><a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.slider(VS.95).aspx">Slider</a></p>
</td>
<td>
<p>Silverlight System.Windows assembly</p>
</td>
<td>
<p>Repr&eacute;sente un contr&ocirc;le que permet &agrave; l&rsquo;utilisateur de s&eacute;lectionner une valeur dans un intervalle. La propri&eacute;t&eacute; <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.primitives.rangebase.value(v=VS.95).aspx">Value</a> d&eacute;termine la position dans l&rsquo;intervalle.</p>
</td>
</tr>
</tbody>
</table>
<p>L&rsquo;image suivante illustre les boutons et les contr&ocirc;les de s&eacute;lection.</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/42/87/metablogapi/5707.clip_image012_2.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-42-87-metablogapi/5707.clip_5F00_image012_5F00_2.png"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="clip_image012" border="0" alt="clip_image012" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/42/87/metablogapi/2148.clip_image012_thumb.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-42-87-metablogapi/2148.clip_5F00_image012_5F00_thumb.png" width="273" height="493" /></a></p>
<h2><a name="List"></a>Contr&ocirc;les de liste</h2>
<p>Le tableau ci-dessous contient la liste des contr&ocirc;les que vous pouvez utiliser pour afficher des listes d&rsquo;&eacute;l&eacute;ments. Pour plus de d&eacute;tails sur les options d&rsquo;affichage des listes d&rsquo;&eacute;l&eacute;ments, jetez un &oelig;il &agrave; la section <a href="http://blogs.msdn.com/b/jflavidalle/archive/2011/09/06/developpement-windows-phone-partie-4.aspx#Toolkit">Toolkit Controls</a> plus loin dans ce tutorial.</p>
<table border="0" cellspacing="3" cellpadding="0">
<tbody>
<tr>
<td>
<p><b>Contr&ocirc;le </b></p>
</td>
<td>
<p><b>Emplacement </b></p>
</td>
<td>
<p><b>Notes </b></p>
</td>
</tr>
<tr>
<td>
<p><a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.ListBox(VS.95).aspx">ListBox</a></p>
</td>
<td>
<p>Silverlight System.Windows assembly</p>
</td>
<td>
<p>Affiche la liste des &eacute;l&eacute;ments que l&rsquo;utilisateur peut s&eacute;lectionner par un clic. Le contenu est affect&eacute; via la propri&eacute;t&eacute; <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.itemscontrol.items(v=VS.95).aspx">Items</a> ou <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.itemscontrol.itemssource(v=VS.95).aspx">ItemsSource</a>. L&rsquo;apparence de chaque &eacute;l&eacute;ment peut &ecirc;tre personnalis&eacute;e en utilisant un <a href="http://msdn.microsoft.com/en-us/library/system.windows.datatemplate(VS.95).aspx">DataTemplate</a>.</p>
</td>
</tr>
</tbody>
</table>
<p>L&rsquo;image ci-dessous illustre un contr&ocirc;le ListBox qui affiche une liste d&rsquo;&eacute;l&eacute;ments.</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/42/87/metablogapi/3730.clip_image014_2.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-42-87-metablogapi/3730.clip_5F00_image014_5F00_2.png"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="clip_image014" border="0" alt="clip_image014" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/42/87/metablogapi/1072.clip_image014_thumb.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-42-87-metablogapi/1072.clip_5F00_image014_5F00_thumb.png" width="274" height="499" /></a></p>
<h2><a name="ImageMapMedia"></a>Contr&ocirc;les pour Images, Cartes et Medias</h2>
<p>Afficher des ressources, comme des images, des cartes ou encore des medias est une composante importante &agrave; la cr&eacute;ation d&rsquo;applications riches pour Windows Phone. La table ci-dessous contient la liste des contr&ocirc;les qui permettent d&rsquo;afficher des ressources comme des images, des cartes ou des medias.</p>
<table border="0" cellspacing="3" cellpadding="0">
<tbody>
<tr>
<td>
<p><b>Contr&ocirc;le </b></p>
</td>
<td>
<p><b>Emplacement </b></p>
</td>
<td>
<p><b>Notes </b></p>
</td>
</tr>
<tr>
<td>
<p><a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.Image(VS.95).aspx">Image</a></p>
</td>
<td>
<p>Silverlight System.Windows assembly</p>
</td>
<td>
<p>Affiche une image. Le contenu est affect&eacute; via une propri&eacute;t&eacute; <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.image.source(v=VS.95).aspx">Source</a>. Les applications Windows Phone supportent les images au format PNG et JPG.</p>
</td>
</tr>
<tr>
<td>
<p><a href="http://msdn.microsoft.com/en-us/library/ff941096(VS.92).aspx">Map</a></p>
</td>
<td>
<p>Bing assembly</p>
</td>
<td>
<p>Affiche une carte Bing Maps. Vous pouvez glisser/d&eacute;poser le contr&ocirc;le depuis la ToolBox sur la surface de votre application, mais pour que le contr&ocirc;le fonctionne il faut que vous disposiez d&rsquo;une clef Bing Maps Key pour votre application. Pour plus d&rsquo;informations, jetez un &oelig;il &agrave; <a href="http://msdn.microsoft.com/en-us/library/ff428642.aspx">Getting a Bing Maps Key</a>. Vous indiquez le type de cartes que vous souhaitez &agrave; travers la propri&eacute;t&eacute; <b>Mode</b>, et le niveau de zoom en utilisant le propri&eacute;t&eacute; <b>ZoomLevel</b>.</p>
</td>
</tr>
<tr>
<td>
<p><a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.MediaElement(VS.95).aspx">MediaElement</a></p>
</td>
<td>
<p>Silverlight System.Windows assembly</p>
</td>
<td>
<p>Utilisez ce contr&ocirc;le pour lire du contenu Audio ou Vid&eacute;o. Le contenu est affect&eacute; via la propri&eacute;t&eacute; <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.mediaelement.source(v=VS.95).aspx">Source</a>. Pour des raisons de performance, vous ne devez pas utiliser ce contr&ocirc;le pour ajouter des effets audio &agrave; vos applications. Il est alors pr&eacute;f&eacute;rable d&rsquo;utiliser la classe <a href="http://msdn.microsoft.com/en-us/library/microsoft.xna.framework.audio.soundeffect.aspx">SoundEffect</a> du framework XNA.</p>
</td>
</tr>
</tbody>
</table>
<p>L&rsquo;image ci-dessous est une illustration des contr&ocirc;les Image, Cartes, et MediaElement affichant du contenu.</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/42/87/metablogapi/0027.clip_image016_2.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-42-87-metablogapi/0027.clip_5F00_image016_5F00_2.png"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="clip_image016" border="0" alt="clip_image016" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/42/87/metablogapi/4212.clip_image016_thumb.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-42-87-metablogapi/4212.clip_5F00_image016_5F00_thumb.png" width="245" height="452" /></a><a name="HTML"></a></p>
<h2>Contr&ocirc;les HTML</h2>
<p>Vous pouvez utiliser le contr&ocirc;le <a href="http://msdn.microsoft.com/en-us/library/microsoft.phone.controls.webbrowser(VS.92).aspx">WebBrowser</a> pour afficher du contenu HTML dans vos applications. Il y a des diff&eacute;rences entre le contr&ocirc;le <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.webbrowser(v=VS.95).aspx">WebBrowser pour Silverlight</a> et le contr&ocirc;le <a href="http://msdn.microsoft.com/en-us/library/microsoft.phone.controls.webbrowser(VS.92).aspx">WebBrowser pour Windows Phone</a>. Pour plus d&rsquo;informations, jetez un &oelig;il aux <a href="http://msdn.microsoft.com/en-us/library/ff431795(VS.92).aspx">Differences Between the Desktop and Device WebBrowser Controls for Windows Phone</a>.</p>
<p>Le tableau ci-dessous contient la liste des contr&ocirc;les permettant d&rsquo;afficher du HTML.</p>
<table border="0" cellspacing="3" cellpadding="0">
<tbody>
<tr>
<td>
<p><b>Contr&ocirc;le </b></p>
</td>
<td>
<p><b>Emplacement </b></p>
</td>
<td>
<p><b>Notes </b></p>
</td>
</tr>
<tr>
<td>
<p><a href="http://msdn.microsoft.com/en-us/library/microsoft.phone.controls.webbrowser(VS.92).aspx">WebBrowser</a></p>
</td>
<td>
<p>Microsoft.Phone.Controls assembly</p>
</td>
<td>
<p>Affiche du contenu HTML. Le contenu est affect&eacute; via la propri&eacute;t&eacute; <a href="http://msdn.microsoft.com/en-us/library/microsoft.phone.controls.webbrowser.source(v=VS.92).aspx">Source</a>.</p>
</td>
</tr>
</tbody>
</table>
<p><b>Contr&ocirc;le WebBrowser</b></p>
<p>L&rsquo;image ci-dessous illustre le contr&ocirc;le <a href="http://msdn.microsoft.com/en-us/library/microsoft.phone.controls.webbrowser(VS.92).aspx">WebBrowser</a> affichant du contenu HTML.</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/42/87/metablogapi/1256.clip_image018_2.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-42-87-metablogapi/1256.clip_5F00_image018_5F00_2.png"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="clip_image018" border="0" alt="clip_image018" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/42/87/metablogapi/1663.clip_image018_thumb.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-42-87-metablogapi/1663.clip_5F00_image018_5F00_thumb.png" width="258" height="473" /></a><a name="ProgressMessage"></a></p>
<h2><a name="ProgressMessage"></a>Contr&ocirc;les de Progress et de Message</h2>
<p>Une application bien con&ccedil;ue donne des informations &agrave; l&rsquo;utilisateur sur son &eacute;tat, par exemple une Progress bar pour les op&eacute;rations longues ou un message d&rsquo;erreur indiquant quel est le probl&egrave;me. Le tableau ci-dessous contient la liste des contr&ocirc;les que vous pouvez utiliser pour afficher l&rsquo;avancement et des messages &agrave; l&rsquo;utilisateur.</p>
<table border="0" cellspacing="3" cellpadding="0">
<tbody>
<tr>
<td>
<p><b>Contr&ocirc;le </b></p>
</td>
<td>
<p><b>Emplacement </b></p>
</td>
<td>
<p><b>Notes </b></p>
</td>
</tr>
<tr>
<td>
<p><a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.progressbar(v=VS.95).aspx">ProgressBar</a></p>
</td>
<td>
<p>Silverlight System.Windows assembly</p>
</td>
<td>
<p>Affiche l&rsquo;avancement d&rsquo;une op&eacute;ration. Vous pouvez utiliser ce contr&ocirc;le pour indiquer l&rsquo;avancement exact d&rsquo;une op&eacute;ration ou simplement indiquer que l&rsquo;op&eacute;ration est en cours sans plus de pr&eacute;cisions. Utiliser ce contr&ocirc;le dans un mode ind&eacute;termin&eacute; peut avoir un impact sur les performances de l&rsquo;application. Microsoft fournit un contr&ocirc;le alternatif non support&eacute; nomm&eacute; <a href="http://go.microsoft.com/fwlink/?linkid=203556">PerformanceProgressBar</a>.</p>
</td>
</tr>
<tr>
<td>
<p><a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.primitives.popup(VS.95).aspx">Popup</a></p>
</td>
<td>
<p>Silverlight System.Windows assembly</p>
</td>
<td>
<p>Affiche du contenu en surimpression au-dessus d&rsquo;un contenu existant. Ceci est utile pour afficher temporairement du contenu &agrave; vocation unique. Typiquement, vous cr&eacute;erez un <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.usercontrol(VS.95).aspx">UserControl</a> que vous placerez dans la propri&eacute;t&eacute; <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.primitives.popup.child(VS.95).aspx">Child</a> du <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.primitives.popup(VS.95).aspx">Popup</a>. Vous placerez ensuite la valeur <b>true</b> dans la propri&eacute;t&eacute; <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.primitives.popup.isopen(v=VS.95).aspx">IsOpen</a> du contr&ocirc;le <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.primitives.popup(VS.95).aspx">Popup</a>. Une alternative moins flexible est l&rsquo;utilisation du composant <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.ListBox(VS.95).aspx">MessageBox</a>.</p>
</td>
</tr>
</tbody>
</table>
<p>L&rsquo;image ci-dessous illustre le contr&ocirc;le <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.primitives.popup(VS.95).aspx">Popup</a> qui contient un <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.textblock(VS.95).aspx">TextBlock</a>, un <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.button(VS.95).aspx">Button</a>, et une <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.progressbar(v=VS.95).aspx">ProgressBar</a> dans ses &eacute;tats classique et ind&eacute;termin&eacute;.</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/42/87/metablogapi/4705.clip_image020_2.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-42-87-metablogapi/4705.clip_5F00_image020_5F00_2.png"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="clip_image020" border="0" alt="clip_image020" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/42/87/metablogapi/0181.clip_image020_thumb.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-42-87-metablogapi/0181.clip_5F00_image020_5F00_thumb.png" width="260" height="488" /></a><a name="Toolkit"></a></p>
<h2><a name="Toolkit"></a>Contr&ocirc;les du Toolkit</h2>
<p>Vous pouvez trouver des contr&ocirc;les suppl&eacute;mentaires dans le <a href="http://silverlight.codeplex.com/">Silverlight pour Windows Phone Toolkit</a>&nbsp;sur CodePlex. Le site contient les contr&ocirc;les, le code source et des exemples. Le tableau ci-dessous contient la liste des contr&ocirc;les qui sont actuellement dans le toolkit. Le toolkit contient aussi des composants additionnels, comme les transitions de pages et un service de gestures.</p>
<table border="0" cellspacing="3" cellpadding="0">
<tbody>
<tr>
<td>
<p><b>Contr&ocirc;le </b></p>
</td>
<td>
<p><b>Emplacement </b></p>
</td>
<td>
<p><b>Notes </b></p>
</td>
</tr>
<tr>
<td>
<p>AutoCompleteBox</p>
</td>
<td>
<p>Microsoft.Phone.Controls.Toolkit assembly</p>
</td>
<td>
<p>Repr&eacute;sente un contr&ocirc;le qui fournit une zone de texte pour la saisie utilisateur et une liste d&eacute;roulante qui contient les choix possibles bas&eacute;s sur ce que l&rsquo;utilisateur a saisi dans la zone de texte. Tr&egrave;s similaire &agrave; l&rsquo;<a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.autocompletebox(VS.95).aspx">AutoCompleteBox</a> disponible en Silverlight.</p>
</td>
</tr>
<tr>
<td>
<p>ListPicker</p>
</td>
<td>
<p>Microsoft.Phone.Controls.Toolkit assembly</p>
</td>
<td>
<p>Combine une zone de texte qui affiche la s&eacute;lection courante et une liste d&eacute;roulante dans lesquelles l&rsquo;utilisateur peut faire sa s&eacute;lection.</p>
</td>
</tr>
<tr>
<td>
<p>LongListSelector</p>
</td>
<td>
<p>Microsoft.Phone.Controls.Toolkit assembly</p>
</td>
<td>
<p>Fournit un menu d&eacute;roulant avanc&eacute; qui supporte le regroupement d&rsquo;&eacute;l&eacute;ments et la visualisation.</p>
</td>
</tr>
<tr>
<td>
<p>ContextMenu</p>
</td>
<td>
<p>Microsoft.Phone.Controls.Toolkit assembly</p>
</td>
<td>
<p>Fournit un menu contextuel. Utilis&eacute; pour fournir un menu lorsque l&rsquo;utilisateur touche ou reste appuy&eacute; sur un contr&ocirc;le.</p>
</td>
</tr>
<tr>
<td>
<p>DatePicker</p>
</td>
<td>
<p>Microsoft.Phone.Controls.Toolkit assembly</p>
</td>
<td>
<p>Permet &agrave; l&rsquo;utilisateur de s&eacute;lectionner une date.</p>
</td>
</tr>
<tr>
<td>
<p>TimePicker</p>
</td>
<td>
<p>Microsoft.Phone.Controls.Toolkit assembly</p>
</td>
<td>
<p>Permet &agrave; l&rsquo;utilisateur de s&eacute;lectionner une heure.</p>
</td>
</tr>
<tr>
<td>
<p>ToggleSwitch</p>
</td>
<td>
<p>Microsoft.Phone.Controls.Toolkit assembly</p>
</td>
<td>
<p>Fournit un texte et un interrupteur on/off.</p>
</td>
</tr>
<tr>
<td>
<p>WrapPanel</p>
</td>
<td>
<p>Microsoft.Phone.Controls.Toolkit assembly</p>
</td>
<td>
<p>Fournit un contr&ocirc;le de Layout qui positionne les &eacute;l&eacute;ments enfants de fa&ccedil;on s&eacute;quentielle jusqu&rsquo;&agrave; ce qu&rsquo;il n&rsquo;y a plus de place, et construit ensuite une nouvelle ligne pour les enfants. Les &eacute;l&eacute;ments enfants se disposent sur la nouvelle ligne.</p>
</td>
</tr>
</tbody>
</table>
<p>A voir</p>
<ul>
<li><a href="http://blogs.msdn.com/b/lgmorand/archive/2011/09/06/developpement-windows-phone-partie-3.aspx">Using Controls QuickStart</a></li>
<li><a href="http://msdn.microsoft.com/en-us/library/ff402561(VS.92).aspx">Controls for Windows Phone</a></li>
<li><a href="http://msdn.microsoft.com/en-us/library/cc838221(VS.95).aspx">Control Content Models</a></li>
<li><a href="http://msdn.microsoft.com/en-us/library/cc645030(v=VS.95).aspx">Getting Started with Controls</a></li>
<li><a href="http://msdn.microsoft.com/en-us/library/ff356887(VS.95).aspx">Silverlight Designer for Visual Studio</a></li>
</ul>
<hr />
<p><a href="#sommaire">Cliquez ici pour revenir au sommaire de la liste d&rsquo;articles</a></p>]]></content:encoded>
    </item>
    <item>
      <title>Developpement Windows Phone - partie 1</title>
      <link>https://docs.microsoft.com/archive/blogs/jflavidalle/developpement-windows-phone-partie-1</link>
      <pubDate>Tue, 06 Sep 2011 13:01:00 GMT</pubDate>
      <dc:creator><![CDATA[JFLavidalle]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/jflavidalle/2011/09/06/developpement-windows-phone-partie-1/</guid>
      <description><![CDATA[Cet article fait partie d&rsquo;une s&eacute;rie d&rsquo;articles sur le d&eacute;veloppement...]]></description>
      <content:encoded><![CDATA[<p>Cet article fait partie d&rsquo;une s&eacute;rie d&rsquo;articles sur le d&eacute;veloppement Windows Phone. Il s&rsquo;agit d&rsquo;une traduction des articles se trouvant <a href="http://create.msdn.com/en-us/education/quickstarts" target="_blank">sur la MSDN</a>.</p>
<p><a name="sommaire"></a>Sommaire</p>
<p><strong>Bien d&eacute;buter et fondamentaux</strong></p>
<ul>
<li><a href="http://blogs.msdn.com/b/jflavidalle/archive/2011/09/06/developpement-windows-phone-partie-1.aspx" target="_blank">Bien d&eacute;marrer (Hello World)</a></li>
<li><a href="http://blogs.msdn.com/b/lgmorand/archive/2011/09/06/developpement-windows-phone-partie-2.aspx" target="_blank">Cr&eacute;er une interface utilisateur pour Windows Phone en XAML</a></li>
<li><a href="http://blogs.msdn.com/b/patrick_payet/archive/2011/09/06/developpement-windows-phone-partie-3.aspx" target="_blank">Utiliser des contr&ocirc;les</a></li>
<li><a href="http://blogs.msdn.com/b/jflavidalle/archive/2011/09/06/developpement-windows-phone-partie-4.aspx" target="_blank">Types de contr&ocirc;les</a></li>
<li><a href="http://blogs.msdn.com/b/lgmorand/archive/2011/09/06/developpement-windows-phone-partie-5.aspx" target="_blank">Contr&ocirc;les Panorama et Pivot</a></li>
<li><a href="http://blogs.msdn.com/b/patrick_payet/archive/2011/09/06/developpement-windows-phone-partie-6.aspx" target="_blank">Travailler avec du texte sur le Windows Phone</a></li>
<li><a href="http://blogs.msdn.com/b/jflavidalle/archive/2011/09/06/developpement-windows-phone-partie-7.aspx" target="_blank">Mise en page sur l&rsquo;&eacute;cran</a></li>
<li><a href="http://blogs.msdn.com/b/lgmorand/archive/2011/09/06/developpement-windows-phone-partie-8.aspx" target="_blank">Orientations de l&rsquo;&eacute;cran</a></li>
<li><a href="http://blogs.msdn.com/b/patrick_payet/archive/2011/09/06/developpement-windows-phone-partie-9.aspx" target="_blank">Saisie tactile</a></li>
<li><a href="http://blogs.msdn.com/b/jflavidalle/archive/2011/09/06/developpement-windows-phone-partie-10.aspx" target="_blank">Navigation</a></li>
<li><a href="http://blogs.msdn.com/b/lgmorand/archive/2011/09/06/developpement-windows-phone-partie-11.aspx" target="_blank">Ex&eacute;cuter votre application en arri&egrave;re-plan (tombstoning)</a></li>
<li><a href="http://blogs.msdn.com/b/patrick_payet/archive/2011/09/06/developpement-windows-phone-partie-12.aspx" target="_blank">Notifications Push pour le d&eacute;veloppement Windows Phone</a></li>
<li><a href="http://blogs.msdn.com/b/jflavidalle/archive/2011/09/06/developpement-windows-phone-partie-13.aspx" target="_blank">Publier votre application sur le Marketplace</a></li>
</ul>
<p><strong>Visuels et m&eacute;dia</strong></p>
<ul>
<li><a href="http://blogs.msdn.com/b/lgmorand/archive/2011/09/06/developpement-windows-phone-partie-14.aspx" target="_blank">Images</a></li>
<li><a href="http://blogs.msdn.com/b/patrick_payet/archive/2011/09/06/developpement-windows-phone-partie-15.aspx" target="_blank">Animations</a></li>
<li><a href="http://blogs.msdn.com/b/jflavidalle/archive/2011/09/06/developpement-windows-phone-partie-16.aspx" target="_blank">Vid&eacute;o et Audio</a></li>
<li><a href="http://blogs.msdn.com/b/lgmorand/archive/2011/09/06/developpement-windows-phone-partie-17.aspx" target="_blank">Graphiques</a></li>
<li><a href="http://blogs.msdn.com/b/patrick_payet/archive/2011/09/06/developpement-windows-phone-partie-18.aspx" target="_blank">Pinceaux</a></li>
</ul>
<p><strong>Travailler avec les donn&eacute;es</strong></p>
<ul>
<li><a href="http://blogs.msdn.com/b/jflavidalle/archive/2011/09/06/developpement-windows-phone-partie-19.aspx" target="_blank">Obtenir des donn&eacute;es dans vos applications Windows Phone</a></li>
<li><a href="http://blogs.msdn.com/b/lgmorand/archive/2011/09/06/developpement-windows-phone-partie-20.aspx" target="_blank">Data binding</a></li>
<li><a href="http://blogs.msdn.com/b/patrick_payet/archive/2011/09/06/developpement-windows-phone-partie-21.aspx" target="_blank">Isolated storage</a></li>
<li><a href="http://blogs.msdn.com/b/jflavidalle/archive/2011/09/06/developpement-windows-phone-partie-22.aspx" target="_blank">Acc&eacute;der &agrave; un service Web REST</a></li>
<li><a href="http://blogs.msdn.com/b/lgmorand/archive/2011/09/06/developpement-windows-phone-partie-23.aspx" target="_blank">Consommer des donn&eacute;es Windows Azure</a></li>
</ul>
<p><strong>Sondes et autres fonctionnalit&eacute;s sp&eacute;cifiques au t&eacute;l&eacute;phone</strong></p>
<ul>
<li><a href="http://blogs.msdn.com/b/patrick_payet/archive/2011/09/06/developpement-windows-phone-partie-24.aspx" target="_blank">Lanceurs et choosers</a></li>
<li><a href="http://blogs.msdn.com/b/jflavidalle/archive/2011/09/06/developpement-windows-phone-partie-25.aspx" target="_blank">D&eacute;tecter des mouvements (acc&eacute;l&eacute;rom&egrave;tres)</a></li>
<li><a href="http://blogs.msdn.com/b/lgmorand/archive/2011/09/06/developpement-windows-phone-partie-26.aspx" target="_blank">D&eacute;velopper avec le GPS Windows Phone (Services de localisation)</a></li>
<li><a href="http://blogs.msdn.com/b/patrick_payet/archive/2011/09/06/developpement-windows-phone-partie-27.aspx" target="_blank">D&eacute;velopper avec l&rsquo;appareil photo du Windows Phone</a></li>
</ul>
<hr />
<h1>Bien d&eacute;marrer (Hello World)</h1>
<p>Windows Phone 7 inclut de nombreux outils pour vous aider &agrave; d&eacute;velopper et publier des applications. Cette introduction vous d&eacute;criera les outils de d&eacute;veloppement et comment commencer &agrave; d&eacute;velopper votre premi&egrave;re application pour Windows Phone.</p>
<p>Cette introduction contient les sections suivantes :</p>
<ul>
<li><a href="http://blogs.msdn.com/b/jflavidalle/archive/2011/09/06/developpement-windows-phone-partie-1.aspx#installing_the_tools">Installer les outils de d&eacute;veloppement</a></li>
<li><a href="http://blogs.msdn.com/b/jflavidalle/archive/2011/09/06/developpement-windows-phone-partie-1.aspx#creating_first_application">Cr&eacute;er un Nouveau Projet</a></li>
<li><a href="http://blogs.msdn.com/b/jflavidalle/archive/2011/09/06/developpement-windows-phone-partie-1.aspx#adding_textblock">Ajouter un TextBlock</a></li>
<li><a href="http://blogs.msdn.com/b/jflavidalle/archive/2011/09/06/developpement-windows-phone-partie-1.aspx#running_first_application">Ex&eacute;cuter votre premi&egrave;re application</a></li>
<li><a href="http://blogs.msdn.com/b/jflavidalle/archive/2011/09/06/developpement-windows-phone-partie-1.aspx#running_on_phone">Ex&eacute;cuter votre application sur un t&eacute;l&eacute;phone</a></li>
<li><a href="http://blogs.msdn.com/b/jflavidalle/archive/2011/09/06/developpement-windows-phone-partie-1.aspx#adding_graphics">Ajouter des images</a></li>
<li><a href="http://blogs.msdn.com/b/jflavidalle/archive/2011/09/06/developpement-windows-phone-partie-1.aspx#adding_button">Ajouter un bouton</a></li>
<li><a href="http://blogs.msdn.com/b/jflavidalle/archive/2011/09/06/developpement-windows-phone-partie-1.aspx#adding_animation">Ajouter des animations</a></li>
<li><a href="http://blogs.msdn.com/b/jflavidalle/archive/2011/09/06/developpement-windows-phone-partie-1.aspx#publishing">Publier sur le Marketplace</a></li>
<li><a href="http://blogs.msdn.com/b/jflavidalle/archive/2011/09/06/developpement-windows-phone-partie-1.aspx#whats_next">A suivre</a></li>
</ul>
<p>Note</p>
<p>Les exemples fournis dans ce guide d&eacute;marrage s&rsquo;ex&eacute;cutent dans le navigateur pour simuler le comportement de Silverlight sur Windows Phone. Le comportement r&eacute;el peut &ecirc;tre l&eacute;g&egrave;rement diff&eacute;rent dans le simulateur Windows Phone que sur le t&eacute;l&eacute;phone lui-m&ecirc;me.</p>
<p>&nbsp;</p>
<p><a name="installing_the_tools"></a></p>
<h2>Installer les outils de d&eacute;veloppement</h2>
<p>Vous pouvez t&eacute;l&eacute;charger et installer tout ce qui est n&eacute;cessaire au d&eacute;veloppement et &agrave; la publication d&rsquo;application Windows Phone. Dans le tableau ci-dessous, s&eacute;lectionnez la colonne qui vous correspond et cliquez sur les liens propos&eacute;s pour installer les outils :</p>
<table border="0" cellspacing="3" cellpadding="0">
<tbody>
<tr>
<td width="393">
<p><b>D&eacute;veloppeur C#</b></p>
</td>
<td width="447">
<p><b>D&eacute;veloppeur Visual Basic</b></p>
</td>
</tr>
<tr>
<td width="393">
<p>Si vous &ecirc;tes un d&eacute;veloppeur C #, installer chacun des &eacute;l&eacute;ments suivants :</p>
<p>1. <a href="http://www.microsoft.com/downloads/en/details.aspx?FamilyID=04704acf-a63a-4f97-952c-8b51b34b00ce&amp;displaylang=en">Windows Phone Developer Tools</a></p>
<p>2. <a href="http://www.microsoft.com/downloads/en/details.aspx?FamilyID=49b9d0c5-6597-4313-912a-f0cca9c7d277&amp;displaylang=en">Windows Phone Developer Tools January 2011 Update</a></p>
</td>
<td width="447">
<p>Si vous &ecirc;tes un d&eacute;veloppeur Visual Basic, vous devez disposer de Visual Studio 2010 Professional, Premium ou Int&eacute;grale install&eacute; pour pouvoir d&eacute;velopper pour Windows Phone en Visual Basic. Visual Basic pour Windows Phone n&rsquo;est pas support&eacute; par Visual Studio 2010 Express pour Windows Phone.</p>
<p>Si vous &ecirc;tes un d&eacute;veloppeur Visual Basic, installer chacun des &eacute;l&eacute;ments suivants :</p>
<p>1. <a href="http://www.microsoft.com/downloads/en/details.aspx?FamilyID=04704acf-a63a-4f97-952c-8b51b34b00ce&amp;displaylang=en">Windows Phone Developer Tools</a></p>
<p>2. <a href="http://www.microsoft.com/downloads/en/details.aspx?FamilyID=49b9d0c5-6597-4313-912a-f0cca9c7d277&amp;displaylang=en">Windows Phone Developer Tools January 2011 Update</a></p>
<p>3. <a href="http://www.microsoft.com/downloads/en/details.aspx?FamilyID=4e97ea70-e479-4c05-814f-639d71690e5d&amp;displaylang=en">Microsoft Visual Basic for Windows Phone Developer Tools - RTW</a></p>
</td>
</tr>
</tbody>
</table>
<h2><a name="creating_first_application"></a>Cr&eacute;er un nouveau projet</h2>
<p>Apr&egrave;s avoir install&eacute; les outils d&eacute;veloppeur Windows Phone, le moyen le plus simple de cr&eacute;er votre premi&egrave;re application est d'utiliser Visual Studio.</p>
<p>1. Dans le menu D&eacute;marrer, lancez Microsoft Visual Studio 2010 Express for Windows Phone.</p>
<p>Dans le menu <b>File</b>, cliquez sur <b>New Project</b></p>
<p></p>
<p></p>
<p></p>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/42/87/metablogapi/8321.0shym2u2_2.jpg" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-42-87-metablogapi/8321.0shym2u2_5F00_2.jpg"><img style="background-image: none; padding-left: 0px; padding-right: 0px; padding-top: 0px; border-width: 0px;" border="0" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/42/87/metablogapi/4682.0shym2u2_thumb.jpg" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-42-87-metablogapi/4682.0shym2u2_5F00_thumb.jpg" width="481" height="362" /></a></p>
<p>Cela ouvre la boite de dialogue <i>New Project</i>. Sur le c&ocirc;t&eacute; gauche de la boite de dialogue se trouvent les diff&eacute;rents types de projets. Lorsque vous s&eacute;lectionnez <b>Silverlight for Windows Phone</b>, la partie centrale de cette boite de dialogue affiche les diff&eacute;rents types d&rsquo;applications que vous pouvez cr&eacute;er</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/42/87/metablogapi/4276.2nvltu2t_2.jpg" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-42-87-metablogapi/4276.2nvltu2t_5F00_2.jpg"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="2nvltu2t" border="0" alt="2nvltu2t" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/42/87/metablogapi/2438.2nvltu2t_thumb.jpg" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-42-87-metablogapi/2438.2nvltu2t_5F00_thumb.jpg" width="483" height="363" /></a></p>
<p>3. Sur gauche, s&eacute;lectionnez <b>Silverlight for Windows Phone</b>.</p>
<p>4. Au centre, s&eacute;lectionnez <b>Windows Phone Application template.</b></p>
<p>5. Nommez le projet <b>HelloWorld_Phone</b> and cliquez sur <b>OK</b>.</p>
<p>Un nouveau projet Silverlight for Windows Phone est cr&eacute;&eacute; et s&rsquo;ouvre dans Visual studio.</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/42/87/metablogapi/2514.xyyrn434_2.jpg" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-42-87-metablogapi/2514.xyyrn434_5F00_2.jpg"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="xyyrn434" border="0" alt="xyyrn434" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/42/87/metablogapi/3250.xyyrn434_thumb.jpg" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-42-87-metablogapi/3250.xyyrn434_5F00_thumb.jpg" width="487" height="366" /></a></p>
<p>Par d&eacute;faut, Visual Studio est divis&eacute; en trois volets. (En fonction de vos param&egrave;tres, les volets peuvent avoir l&rsquo;air diff&eacute;rents.) Sur la gauche se trouve le Designer, au milieu se trouve le XAML, et sur la gauche le Solution Explorer.</p>
<p>Dans le Solution Explorer, se trouvent de nombreux fichiers. Les fichiers que vous utiliserez dans ce tutoriel sont MainPage.xaml et MainPage.xaml.cs. MainPage.xaml d&eacute;finit l&rsquo;interface graphique de votre application. XAML est un langage bas&eacute; sur le XML et est utilis&eacute; pour cr&eacute;er et disposer des &eacute;l&eacute;ments graphiques. Pour plus d&rsquo;information sur le XAML, allez voir la <a href="http://msdn.microsoft.com/en-us/library/cc189036(VS.95).aspx">XAML Overview</a> sur MSDN. Si vous d&eacute;pliez MainPage.xaml, vous verrez un fichier de code-behind en C# nomm&eacute; MainPage.xaml.cs. Un fichier de code-behind va de pair avec un fichier XAML &agrave; travers l&rsquo;utilisation d&rsquo;une classe partielle et contient la logique correspondant au contenu du fichier XAML. Pour plus de d&eacute;tails sur les fichiers de code-behind et les classes partielles, allez vois <a href="http://msdn.microsoft.com/en-us/library/cc221357(VS.95).aspx">Code-Behind and Partial Classes</a>&nbsp;sur MSDN. S&eacute;parer l&rsquo;interface graphique du code permet de cr&eacute;er des interfaces utilisateur de fa&ccedil;on d&eacute;clarative en utilisant du markup XAML et d&rsquo;utiliser ensuite un fichier diff&eacute;rent de code-behind pour d&eacute;finir la logique d&rsquo;interaction avec les &eacute;v&egrave;nements et de manipulation des objets que vous avez d&eacute;clar&eacute;s dans le XAML. Cette s&eacute;paration simplifie l&rsquo;interaction des designers et des d&eacute;veloppeurs, rendant leur collaboration sur un m&ecirc;me projet bien plus efficace.</p>
<h2><a name="adding_textblock"></a>Ajouter un TextBlock</h2>
<p>Vous allez ensuite ajouter un simple <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.textblock(VS.95).aspx">TextBlock</a>&nbsp;qui affichera le texte "Hello, World!". Il y a plusieurs fa&ccedil;ons de r&eacute;aliser cela, mais dans cette section nous utiliserons la Toolbox et la vue Design.</p>
<p>1. Si le fichier MainPage.xaml n&rsquo;est pas d&eacute;j&agrave; ouvert, double-cliquez sur MainPage.xaml dans le Solution Explorer.</p>
<p>2. Dans le menu <b>View</b> menu, cliquez sur <b>Other Windows</b>, et cliquez ensuite sur <b>Toolbox</b>. Le volet des outils s&rsquo;affiche alors.</p>
<p>3. Agrandissez ou dockez le volet Toolbox afin que vous puissiez voir la Toolbox et le vue Design du t&eacute;l&eacute;phone.</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/42/87/metablogapi/7444.4yfg2ivk_2.jpg" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-42-87-metablogapi/7444.4yfg2ivk_5F00_2.jpg"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="4yfg2ivk" border="0" alt="4yfg2ivk" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/42/87/metablogapi/4705.4yfg2ivk_thumb.jpg" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-42-87-metablogapi/4705.4yfg2ivk_5F00_thumb.jpg" width="476" height="358" /></a></p>
<p>4. De la Toolbox, faites glisser un <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.textblock(VS.95).aspx">TextBlock</a>&nbsp;sur l&rsquo;&eacute;cran du t&eacute;l&eacute;phone.</p>
<p>Remarquez qu&rsquo;un &eacute;l&eacute;ment <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.textblock(VS.95).aspx">TextBlock</a> a &eacute;t&eacute; ajout&eacute; dans le contenu du <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.grid(VS.95).aspx">Grid</a> de la vue XAML.</p>
<div style="margin: 0px; display: inline; float: none; padding: 0px;" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:c7e7bfd4-142b-46eb-bcbb-4dce064f7727" class="wlWriterEditableSmartContent">
<div style="border: #000080 1px solid; color: #000; font-family: 'Courier New', Courier, Monospace; font-size: 10pt;">
<div style="background: #000080; color: #fff; font-family: Verdana, Tahoma, Arial, sans-serif; font-weight: bold; padding: 2px 5px;">XAML</div>
<div style="background: #ddd; max-height: 300px; overflow: auto;"><ol style="background: #ffffff; margin: 0 0 0 2em; padding: 0 0 0 5px;" start="1">
<li><span style="color: #a31515;"></span><span style="color: #008000;">&lt;!--ContentPanel - place additional content here--&gt;</span></li>
<li style="background: #f3f3f3;"><span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">Grid</span><span style="color: #ff0000;"> x</span><span style="color: #0000ff;">:</span><span style="color: #ff0000;">Name</span><span style="color: #0000ff;">="ContentPanel"</span><span style="color: #ff0000;"> Grid.Row</span><span style="color: #0000ff;">="1"</span><span style="color: #ff0000;"> Margin</span><span style="color: #0000ff;">="12,0,12,0"&gt;</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">TextBlock</span><span style="color: #ff0000;"> Height</span><span style="color: #0000ff;">="30"</span><span style="color: #ff0000;"> HorizontalAlignment</span><span style="color: #0000ff;">="Left"</span><span style="color: #ff0000;"> Margin</span><span style="color: #0000ff;">="12,6,0,0"</span><span style="color: #ff0000;"> Name</span><span style="color: #0000ff;">="textBlock1"</span><span style="color: #ff0000;"> Text</span><span style="color: #0000ff;">="TextBlock"</span><span style="color: #ff0000;"> VerticalAlignment</span><span style="color: #0000ff;">="Top" /&gt;</span></li>
<li style="background: #f3f3f3;"><span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">Grid</span><span style="color: #0000ff;">&gt;</span></li>
</ol></div>
</div>
</div>
<p>5. Dans le menu <b>View</b> , cliquez sur <b>Other Windows</b>, et cliquez ensuite sur <b>Properties Window</b>. Le volet des propri&eacute;t&eacute;s s&rsquo;affiche alors.</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/42/87/metablogapi/6765.b5541tvg_2.jpg" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-42-87-metablogapi/6765.b5541tvg_5F00_2.jpg"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="b5541tvg" border="0" alt="b5541tvg" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/42/87/metablogapi/8507.b5541tvg_thumb.jpg" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-42-87-metablogapi/8507.b5541tvg_5F00_thumb.jpg" width="244" height="416" /></a></p>
<p>6. Dans le vue Design, assurez-vous que le <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.textblock(VS.95).aspx">TextBlock</a>&nbsp;est toujours s&eacute;lectionn&eacute;.</p>
<p>7. Dans la fen&ecirc;tre des propri&eacute;t&eacute;s, modifiez la valeur de la propri&eacute;t&eacute; <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.textblock.text(v=VS.95).aspx">Text</a> pour mettre <b>Hello, World!</b>.</p>
<p>8. Modifiez la propri&eacute;t&eacute; <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.textblock.fontsize(v=VS.95).aspx">FontSize</a>&nbsp;pour mettre 50.</p>
<p>9. Indiquez un <a href="http://msdn.microsoft.com/en-us/library/system.windows.frameworkelement.height(v=VS.95).aspx">Height</a>&nbsp;de 70.</p>
<p>La vue Design doit se mettre &agrave; jour et doit maintenant ressembler &agrave; ceci :</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/42/87/metablogapi/2625.qfb5bsx5_2.jpg" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-42-87-metablogapi/2625.qfb5bsx5_5F00_2.jpg"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="qfb5bsx5" border="0" alt="qfb5bsx5" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/42/87/metablogapi/1134.qfb5bsx5_thumb.jpg" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-42-87-metablogapi/1134.qfb5bsx5_5F00_thumb.jpg" width="515" height="387" /></a></p>
<h2><a name="running_first_application"></a>Ex&eacute;cuter votre premi&egrave;re application</h2>
<p>Maintenant que vous avez cr&eacute;&eacute; votre premi&egrave;re application Silverlight pour Windows Phone, vous avez besoin de l&rsquo;ex&eacute;cuter. Vous utiliserez l&rsquo;&eacute;mulateur Windows Phone int&eacute;gr&eacute;, qui simule un t&eacute;l&eacute;phone Windows Phone. En utilisant l&rsquo;&eacute;mulateur Windows Phone vous pouvez tester et d&eacute;boguer votre application tr&egrave;s rapidement sans avoir &agrave; d&eacute;ployer l&rsquo;application sur un vrai t&eacute;l&eacute;phone.</p>
<p>Pour d&eacute;marrer l&rsquo;&eacute;mulateur, vous avez juste besoin de d&eacute;marrer votre application en debug. Visual Studio lancera l&rsquo;&eacute;mulateur et chargera votre application dans ce dernier.</p>
<p>1. Pour d&eacute;marrer l&rsquo;application en debug, appuyer sur la touche F5 ou <b>Debug-&gt;Start Debugging</b>.</p>
<p>Si des erreurs apparaissent lors de la compilation de votre application Visual Studio vous affichera leurs d&eacute;tails. Apr&egrave;s quelques instants, une fen&ecirc;tre d&rsquo;&eacute;mulateur, comme l&rsquo;image ci-dessous, doit apparaitre :</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/42/87/metablogapi/2100.z400g03b_2.jpg" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-42-87-metablogapi/2100.z400g03b_5F00_2.jpg"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="z400g03b" border="0" alt="z400g03b" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/42/87/metablogapi/5417.z400g03b_thumb.jpg" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-42-87-metablogapi/5417.z400g03b_5F00_thumb.jpg" width="220" height="397" /></a></p>
<p>Au premier lancement, l&rsquo;&eacute;mulateur prend quelques instants pour commencer le d&eacute;bogage. Pour acc&eacute;l&eacute;rer les prochaines phases de d&eacute;bogage, ne fermez pas la fen&ecirc;tre de l&rsquo;&eacute;mulateur. A la place, choisissez <b>Debug-&gt;Stop Debugging </b>pour arr&ecirc;ter le d&eacute;bogage. Ceci laissera l&rsquo;&eacute;mulateur fonctionner, et ainsi la prochaine phase de d&eacute;bogage commencera plus rapidement.</p>
<p>Pour stopper le d&eacute;bogage, s&eacute;lectionnez <b>Debug-&gt;Stop Debugging</b>.</p>
<h2><a name="running_on_phone"></a>Ex&eacute;cuter votre application sur un Windows Phone</h2>
<p>Pour ex&eacute;cuter votre application sur un Windows Phone, vous devez d&eacute;bloquer le t&eacute;l&eacute;phone avec le Windows Phone Developer Registration Tool. Cet utilitaire est accessible via le menu D&eacute;marrer sous le menu Windows Phone Developer Tools. En plus de cela, vous devez disposer d&rsquo;un compte App Hub payant.</p>
<p>1. Si vous ne disposez pas d&rsquo;un compte App Hub payant, <a href="https://windowsphone.create.msdn.com/Register/">enregistrez-vous maintenant sur App Hub</a>, le portail officiel des d&eacute;veloppeurs Windows Phone.</p>
<p>2. D&eacute;marrez Zune sur votre ordinateur.</p>
<p>3. Connectez votre t&eacute;l&eacute;phone &agrave; votre ordinateur.</p>
<p>4. D&eacute;marrez le Windows Phone Developer Registration, saisissez votre Windows Live ID que vous voulez associer avec votre compte App Hub.</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/42/87/metablogapi/1614.yddlhptc_2.jpg" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-42-87-metablogapi/1614.yddlhptc_5F00_2.jpg"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="yddlhptc" border="0" alt="yddlhptc" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/42/87/metablogapi/5808.yddlhptc_thumb.jpg" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-42-87-metablogapi/5808.yddlhptc_5F00_thumb.jpg" width="453" height="410" /></a></p>
<p>5. Dans l&rsquo;assistant d&rsquo;enregistrement, saisissez les informations requises pour l&rsquo;identification de votre t&eacute;l&eacute;phone.</p>
<p>Votre t&eacute;l&eacute;phone est alors d&eacute;bloqu&eacute; et pr&ecirc;t &agrave; recevoir vos applications d&eacute;ploy&eacute;es via Visual Studio.</p>
<p>6. Dans Visual Studio, d&eacute;ployer sur votre t&eacute;l&eacute;phone est aussi simple que de s&eacute;lectionner "Windows Phone 7 Device" (&agrave; la place de l&rsquo;&eacute;mulateur) dans la cible du d&eacute;ploiement.</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/42/87/metablogapi/6076.p1bwc2i0_2.jpg" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-42-87-metablogapi/6076.p1bwc2i0_5F00_2.jpg"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="p1bwc2i0" border="0" alt="p1bwc2i0" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/42/87/metablogapi/7446.p1bwc2i0_thumb.jpg" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-42-87-metablogapi/7446.p1bwc2i0_5F00_thumb.jpg" width="412" height="104" /></a></p>
<p>7. Apr&egrave;s avoir s&eacute;lectionn&eacute; Windows Phone 7 Device dans le menu d&eacute;roulant, vous pouvez d&eacute;ployer sur votre t&eacute;l&eacute;phone d&eacute;bloqu&eacute; en utilisant la m&ecirc;me proc&eacute;dure de d&eacute;ploiement et de d&eacute;bogage que ce que vous feriez avec l&rsquo;&eacute;mulateur.</p>
<p>Note</p>
<p>Pour que le d&eacute;ploiement se d&eacute;roule sans souci, le t&eacute;l&eacute;phone doit &ecirc;tre connect&eacute; &agrave; l&rsquo;ordinateur, son &eacute;cran doit &ecirc;tre d&eacute;verrouill&eacute; et le logiciel Zune doit &ecirc;tre lanc&eacute;.</p>
<h2><a name="adding_graphics"></a>Ajouter des images</h2>
<p>En Silverlight, vous pouvez ajouter des images en utilisant le classe <a href="http://msdn.microsoft.com/en-us/library/system.windows.shapes.shape(VS.95).aspx">Shape</a>. Vous pouvez cr&eacute;er de simple figures, comme des <a href="http://msdn.microsoft.com/en-us/library/system.windows.shapes.rectangle(VS.95).aspx">Rectangles</a>, ou d&rsquo;autres plus complexes, comme les <a href="http://msdn.microsoft.com/en-us/library/system.windows.shapes.polygon(VS.95).aspx">Polygons</a>. Les <a href="http://msdn.microsoft.com/en-us/library/system.windows.media.brush(VS.95).aspx">Brushes</a> sont utilis&eacute;s pour ajouter de la couleur sur les objets en Silverlight. Pour plus d&rsquo;information sur les figures et les Brushes, allez voir <a href="http://blogs.msdn.com/b/lgmorand/archive/2011/09/06/developpement-windows-phone-partie-17.aspx">Graphics QuickStart</a> et le <a href="http://blogs.msdn.com/b/patrick_payet/archive/2011/09/06/developpement-windows-phone-partie-18.aspx">Brushes QuickStart</a>.</p>
<p>Vous allez commencer par ajouter un <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.stackpanel(VS.95).aspx">StackPanel</a> autour du <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.textblock(VS.95).aspx">TextBlock</a>. Un <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.panel(VS.95).aspx">Panel</a> est un conteneur qui est utilis&eacute; pour regrouper et disposer un ensemble d&rsquo;&eacute;l&eacute;ments graphiques. Chaque application doit avoir &agrave; minima un <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.panel(VS.95).aspx">Panel</a>. Un <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.stackpanel(VS.95).aspx">StackPanel</a> dispose les &eacute;l&eacute;ments les uns &agrave; la suite des autres, soit de fa&ccedil;on verticale, soit de fa&ccedil;on horizontale, selon la valeur de l&rsquo;<a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.stackpanel.orientation(VS.95).aspx">Orientation</a>. Les <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.grid(VS.95).aspx">Grid</a> et <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.canvas(VS.95).aspx">Canvas</a>&nbsp;offrent plus de possibilit&eacute;s de disposition des &eacute;l&eacute;ments.</p>
<p>La forme que vous allez cr&eacute;er est une <a href="http://msdn.microsoft.com/en-us/library/system.windows.shapes.ellipse(VS.95).aspx">Ellipse</a>. L&rsquo;<a href="http://msdn.microsoft.com/en-us/library/system.windows.shapes.ellipse(VS.95).aspx">Ellipse</a> devra apparaitre &agrave; la suite du <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.textblock(VS.95).aspx">TextBlock</a> dans le <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.stackpanel(VS.95).aspx">StackPanel</a>. Vous pr&eacute;ciserez les tailles (<a href="http://msdn.microsoft.com/en-us/library/system.windows.frameworkelement.height(VS.95).aspx">Height</a> et <a href="http://msdn.microsoft.com/en-us/library/system.windows.frameworkelement.height(VS.95).aspx">Width</a>) de l&rsquo;<a href="http://msdn.microsoft.com/en-us/library/system.windows.shapes.ellipse(VS.95).aspx">Ellipse</a> ainsi que le remplissage (<a href="http://msdn.microsoft.com/en-us/library/system.windows.shapes.shape.fill(VS.95).aspx">Fill</a>). Pour le <a href="http://msdn.microsoft.com/en-us/library/system.windows.shapes.shape.fill(VS.95).aspx">Fill</a>, vous devez fournir le <a href="http://msdn.microsoft.com/en-us/library/system.windows.media.brush(VS.95).aspx">Brush</a> qui peindra l&rsquo;<a href="http://msdn.microsoft.com/en-us/library/system.windows.shapes.ellipse(VS.95).aspx">Ellipse</a>.</p>
<p>Au lieu de travailler dans le vue Design, vous allez cette fois-ci travailler dans le vue XAML.</p>
<p>1. Fermez la fen&ecirc;tre Toolbox.</p>
<p>2. Dans la vue XAML, localisez le <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.textblock(VS.95).aspx">TextBlock</a>&nbsp;que vous venez d&rsquo;ajouter.</p>
<p>3. Remplacez le <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.textblock(VS.95).aspx">TextBlock</a> par le XAML suivant :</p>
<div style="margin: 0px; display: inline; float: none; padding: 0px;" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:62b013fb-618d-4aaa-a4b4-ed8434d92b2d" class="wlWriterEditableSmartContent">
<div style="border: #000080 1px solid; color: #000; font-family: 'Courier New', Courier, Monospace; font-size: 10pt;">
<div style="background: #000080; color: #fff; font-family: Verdana, Tahoma, Arial, sans-serif; font-weight: bold; padding: 2px 5px;">XAML</div>
<div style="background: #ddd; max-height: 300px; overflow: auto;"><ol style="background: #ffffff; margin: 0 0 0 2em; padding: 0 0 0 5px;" start="1">
<li><span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">StackPanel</span><span style="color: #0000ff;">&gt;</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">TextBlock</span><span style="color: #ff0000;"> FontSize</span><span style="color: #0000ff;">="50"</span><span style="color: #ff0000;"> Text</span><span style="color: #0000ff;">="Hello, World!" /&gt;</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">Ellipse</span><span style="color: #ff0000;"> Fill</span><span style="color: #0000ff;">="Blue"</span><span style="color: #ff0000;"> Height</span><span style="color: #0000ff;">="150"</span><span style="color: #ff0000;"> Width</span><span style="color: #0000ff;">="300"</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #ff0000;"> Name</span><span style="color: #0000ff;">="FirstEllipse" /&gt;</span></li>
<li><span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">StackPanel</span><span style="color: #0000ff;">&gt;</span></li>
</ol></div>
</div>
</div>
<pre class="code"><span style="color: blue;"></span></pre>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/42/87/metablogapi/2248.nm1gtq2t_2.jpg" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-42-87-metablogapi/2248.nm1gtq2t_5F00_2.jpg"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="nm1gtq2t" border="0" alt="nm1gtq2t" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/42/87/metablogapi/4885.nm1gtq2t_thumb.jpg" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-42-87-metablogapi/4885.nm1gtq2t_5F00_thumb.jpg" width="530" height="398" /></a></p>
<p>4. Appuyez sur F5 pour d&eacute;marrer l&rsquo;application.</p>
<p>L&rsquo;image suivante de l&rsquo;&eacute;mulateur doit apparaitre. Vu qu&rsquo;il n&rsquo;y a encore aucune interaction pr&eacute;vue, l&rsquo;application ne fait pas grand-chose pour le moment, mais vous allez ajouter d&rsquo;autres &eacute;l&eacute;ments par la suite.</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/42/87/metablogapi/0160.hm5ehxoa_2.jpg" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-42-87-metablogapi/0160.hm5ehxoa_5F00_2.jpg"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="hm5ehxoa" border="0" alt="hm5ehxoa" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/42/87/metablogapi/3718.hm5ehxoa_thumb.jpg" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-42-87-metablogapi/3718.hm5ehxoa_5F00_thumb.jpg" width="254" height="459" /></a></p>
<p>Pour arr&ecirc;ter le d&eacute;bogage, s&eacute;lectionnez <b>Debug-&gt;Stop Debugging</b>.</p>
<h2><a name="adding_button"></a>Ajouter un Bouton</h2>
<p>La prochaine chose que vous allez faire est d&rsquo;ajouter un Button <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.control(VS.95).aspx">Control</a> &agrave; votre application. Les <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.control(VS.95).aspx">Controls</a> sont un des moyens d&rsquo;interagir avec les applications Silverlight. Silverlight poss&egrave;de une librairie de contr&ocirc;le tr&egrave;s riche, contenant <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.button(VS.95).aspx">Button</a>, <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.textbox(VS.95).aspx">TextBox</a>, <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.listbox(VS.95).aspx">ListBox</a>, and beaucoup d&rsquo;autres.</p>
<p>L&rsquo;action d&rsquo;ajouter un <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.button(VS.95).aspx">Button</a> se d&eacute;compose en deux &eacute;tapes. La premi&egrave;re est d&rsquo;ajouter le <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.button(VS.95).aspx">Button</a> dans le XAML. La deuxi&egrave;me &eacute;tape consiste &agrave; ajouter la logique de gestion des &eacute;v&egrave;nements pour g&eacute;rer les interactions avec l&rsquo;utilisateur, comme par exemple le clic sur le <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.button(VS.95).aspx">Button</a>.</p>
<p>Dans la vue XAM, ajoutez le XAML ci-dessous apr&egrave;s la balise &lt;Ellipse /&gt;.</p>
<div style="margin: 0px; display: inline; float: none; padding: 0px;" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:79c475c7-42d2-48d5-81f4-9354ddd1ca3a" class="wlWriterEditableSmartContent">
<div style="border: #000080 1px solid; color: #000; font-family: 'Courier New', Courier, Monospace; font-size: 10pt;">
<div style="background: #000080; color: #fff; font-family: Verdana, Tahoma, Arial, sans-serif; font-weight: bold; padding: 2px 5px;">XAML</div>
<div style="background: #ddd; max-height: 300px; overflow: auto;"><ol style="background: #ffffff; margin: 0 0 0 2em; padding: 0 0 0 5px;" start="1">
<li><span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">Button</span><span style="color: #ff0000;"> Height</span><span style="color: #0000ff;">="150"</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #ff0000;"> Width</span><span style="color: #0000ff;">="300"</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #ff0000;"> Name</span><span style="color: #0000ff;">="FirstButton"</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #ff0000;"> Content</span><span style="color: #0000ff;">="Tap" /&gt;</span></li>
</ol></div>
</div>
</div>
<pre class="code"><span style="color: blue;"></span></pre>
<p>L&rsquo;attribut <a href="http://msdn.microsoft.com/en-us/library/system.windows.frameworkelement.name(v=VS.95).aspx">Name</a> donne le nom "FirstButton" au <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.button(VS.95).aspx">Button</a>, ainsi vous pourrez acc&egrave;de au <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.button(VS.95).aspx">Button</a> depuis le code. L&rsquo;attribut <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.contentcontrol.content(v=VS.95).aspx">Content</a> indique le texte que apparaitra dans le <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.button(VS.95).aspx">Button</a>. Les attributs <a href="http://msdn.microsoft.com/en-us/library/system.windows.frameworkelement.height(v=VS.95).aspx">Height</a> et <a href="http://msdn.microsoft.com/en-us/library/system.windows.frameworkelement.width(v=VS.95).aspx">Width</a>donneront la hauteur et largeur du bouton.</p>
<p>Les applications Silverlight g&egrave;rent les &eacute;v&egrave;nements. Lorsque certaines choses se produisent dans votre application, comme un clic sur un <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.button(VS.95).aspx">Button</a> ou que l&rsquo;application se charge, un &eacute;v&egrave;nement est lanc&eacute;. Vous pouvez ajouter du code, appel&eacute; event handler, qui s&rsquo;ex&eacute;cutera lorsque cet &eacute;v&egrave;nement se produira. Vous allez ici ajouter un event handler pour l&rsquo;&eacute;v&egrave;nement <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.primitives.buttonbase.click(VS.95).aspx">Click</a>.</p>
<p>Visual Studio peut cr&eacute;er pour vous les event handlers.</p>
<p>2. Dans la vue Design, s&eacute;lectionnez le <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.button(VS.95).aspx">Button</a>.</p>
<p>3. Dans la fen&ecirc;tre de Propri&eacute;t&eacute;s, cliquez sur l&rsquo;onglet <b>Events</b>. Une liste de tous les &eacute;v&egrave;nements du <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.button(VS.95).aspx">Button</a>&nbsp;apparait.</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/42/87/metablogapi/7510.qdaplduw_2.jpg" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-42-87-metablogapi/7510.qdaplduw_5F00_2.jpg"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="qdaplduw" border="0" alt="qdaplduw" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/42/87/metablogapi/4466.qdaplduw_thumb.jpg" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-42-87-metablogapi/4466.qdaplduw_5F00_thumb.jpg" width="238" height="442" /></a></p>
<p>4. Double-cliquez sur l&rsquo;&eacute;v&egrave;nement <b>Click</b>.</p>
<p>Le ficher de code-behind MainPage.xaml.cs s&rsquo;ouvre et vous devriez voir l&rsquo; event handler FirstButton_Click.</p>
<p>5. Dans les accolades , ajoutez le code suivant &agrave; l&rsquo;event handler.</p>
<div style="margin: 0px; display: inline; float: none; padding: 0px;" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:280daffa-e079-4511-88dd-bfb78f524432" class="wlWriterEditableSmartContent">
<div style="border: #000080 1px solid; color: #000; font-family: 'Courier New', Courier, Monospace; font-size: 10pt;">
<div style="background: #000080; color: #fff; font-family: Verdana, Tahoma, Arial, sans-serif; font-weight: bold; padding: 2px 5px;">C#</div>
<div style="background: #ddd; max-height: 300px; overflow: auto;"><ol style="background: #ffffff; margin: 0 0 0 2.5em; padding: 0 0 0 5px;" start="1">
<li><span style="color: #0000ff;">private</span> <span style="color: #0000ff;">void</span> FirstButton_Click(<span style="color: #0000ff;">object</span> sender, <span style="color: #2b91af;">RoutedEventArgs</span> e)</li>
<li style="background: #f3f3f3;">{</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">if</span> (FirstButton.Content <span style="color: #0000ff;">as</span> <span style="color: #0000ff;">string</span> == <span style="color: #a31515;">"Tap"</span>)</li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;{</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FirstButton.Content = <span style="color: #a31515;">"Tap Again"</span>;</li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;}</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">else</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;{</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FirstButton.Content = <span style="color: #a31515;">"Tap"</span>;</li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;}</li>
<li>}</li>
</ol></div>
</div>
</div>
<pre class="code"></pre>
<div style="margin: 0px; display: inline; float: none; padding: 0px;" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:4570594f-be10-4973-9fc5-c94ba0d944ae" class="wlWriterEditableSmartContent">
<div style="border: #000080 1px solid; color: #000; font-family: 'Courier New', Courier, Monospace; font-size: 10pt;">
<div style="background: #000080; color: #fff; font-family: Verdana, Tahoma, Arial, sans-serif; font-weight: bold; padding: 2px 5px;">Visual Basic</div>
<div style="background: #ddd; max-height: 300px; overflow: auto;"><ol style="background: #ffffff; margin: 0 0 0 2em; padding: 0 0 0 5px;" start="1">
<li><span style="color: #0000ff;">Private</span> <span style="color: #0000ff;">Sub</span> FirstButton_Click(<span style="color: #0000ff;">ByVal</span> sender <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Object</span>, <span style="color: #0000ff;">ByVal</span> e <span style="color: #0000ff;">As</span> <span style="color: #2b91af;">RoutedEventArgs</span>)</li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">If</span> (<span style="color: #0000ff;">CType</span>(FirstButton.Content, <span style="color: #0000ff;">String</span>) = <span style="color: #a31515;">"Tap"</span>) <span style="color: #0000ff;">Then</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FirstButton.Content = <span style="color: #a31515;">"Tap Again"</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">Else</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FirstButton.Content = <span style="color: #a31515;">"Tap"</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">End</span> <span style="color: #0000ff;">If</span></li>
<li><span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Sub</span></li>
</ol></div>
</div>
</div>
<pre class="code"><span style="color: blue;"></span></pre>
<p>La fonction FirstButton_Click effectue les actions suivantes. Quand le <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.button(VS.95).aspx">Button</a> est cliqu&eacute;, le texte qui est affich&eacute; change entre les deux valeurs "Tap" et "Tap Again".</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/42/87/metablogapi/2705.l30jrxuy_2.jpg" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-42-87-metablogapi/2705.l30jrxuy_5F00_2.jpg"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="l30jrxuy" border="0" alt="l30jrxuy" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/42/87/metablogapi/0638.l30jrxuy_thumb.jpg" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-42-87-metablogapi/0638.l30jrxuy_5F00_thumb.jpg" width="525" height="395" /></a></p>
<p>6. Appuyez sur la touche F5 pour d&eacute;marrer l&rsquo;application.</p>
<p>L&rsquo;exemple suivant vous montre l&rsquo;ex&eacute;cution de l&rsquo;event handler sur le click. Pour tester ce code, cliquez sur le bouton.</p>
<p>Dans le XAML du <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.button(VS.95).aspx">Button</a>, notez qu&rsquo;un attribut <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.primitives.buttonbase.click(v=VS.95).aspx">Click</a>&nbsp;a &eacute;t&eacute; ajout&eacute;.</p>
<p><object data="data:application/x-oleobject;base64,QfXq3+HzJEysrJnDBxUISgAJAAADPgAAxjYAAAwAAABXAGgAaQB0AGUAAAAAAAAAAAAAAAAAAAC4AAAAaAB0AHQAcAA6AC8ALwBjAHIAZQBhAHQAZQAuAG0AcwBkAG4ALgBjAG8AbQAvAGEAcwBzAGUAdABzAC8AYwBtAHMALwBkAG8AYwBzAC8AUQB1AGkAYwBrAHMAdABhAHIAdABzAFgAQQBQAC8AUQB1AGkAYwBrAFMAdABhAHIAdABzAF8ARwBlAHQAdABpAG4AZwBTAHQAYQByAHQAZQBkAF8AQgB1AHQAdABvAG4ALgB4AGEAcAAAADwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAABgAAAAzAC4AMAAuADQAMAA2ADIANAAuADAAAAAKAAAAdAByAHUAZQAAAAAAAAAAAAAAAAAAAA==" width="600" type="application/x-silverlight-2" height="530" autoupdate="true"><param name="source" value="http://create.msdn.com/assets/cms/docs/QuickstartsXAP/QuickStarts_GettingStarted_Button.xap" /><param name="minRuntimeVersion" value="3.0.40624.0" /><param name="background" value="White" /><param name="autoUpgrade" value="true" /><a style="text-decoration: none;" href="http://go.microsoft.com/fwlink/?LinkID=149156&amp;v=3.0.40624.0"> <img style="border-style: none;" alt="Get Microsoft Silverlight" src="http://go.microsoft.com/fwlink/?LinkId=161376" /> </a> </object></p>
<p>Dans le XAML du <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.button(VS.95).aspx">Button</a>, notez qu&rsquo;un attribut <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.primitives.buttonbase.click(v=VS.95).aspx">Click</a> a &eacute;t&eacute; ajout&eacute;.</p>
<div style="margin: 0px; display: inline; float: none; padding: 0px;" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:792dacde-f4f0-4725-bb06-fc9227a125b9" class="wlWriterEditableSmartContent">
<div style="border: #000080 1px solid; color: #000; font-family: 'Courier New', Courier, Monospace; font-size: 10pt;">
<div style="background: #000080; color: #fff; font-family: Verdana, Tahoma, Arial, sans-serif; font-weight: bold; padding: 2px 5px;">XAML</div>
<div style="background: #ddd; max-height: 300px; overflow: auto;"><ol style="background: #ffffff; margin: 0 0 0 2.5em; padding: 0 0 0 5px;" start="1">
<li><span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">StackPanel</span><span style="color: #0000ff;">&gt;</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">TextBlock</span><span style="color: #ff0000;"> FontSize</span><span style="color: #0000ff;">="50"</span><span style="color: #ff0000;"> Text</span><span style="color: #0000ff;">="Hello, World!" /&gt;</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">Ellipse</span><span style="color: #ff0000;"> Fill</span><span style="color: #0000ff;">="Blue"</span><span style="color: #ff0000;"> Height</span><span style="color: #0000ff;">="150"</span><span style="color: #ff0000;"> Width</span><span style="color: #0000ff;">="300"</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #ff0000;"> Name</span><span style="color: #0000ff;">="FirstEllipse" /&gt;</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">Button</span><span style="color: #ff0000;"> Height</span><span style="color: #0000ff;">="150"</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #ff0000;"> Width</span><span style="color: #0000ff;">="300"</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #ff0000;"> Content</span><span style="color: #0000ff;">="Tap"</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #ff0000;"> Name</span><span style="color: #0000ff;">="FirstButton"</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #ff0000;"> Click</span><span style="color: #0000ff;">="FirstButton_Click" /&gt;</span></li>
<li style="background: #f3f3f3;"><span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">StackPanel</span><span style="color: #0000ff;">&gt;</span></li>
</ol></div>
</div>
</div>
<pre class="code"><span style="color: blue;"> </span></pre>
<h2><a name="adding_animation"></a>Ajouter des Animations</h2>
<p>La derni&egrave;re chose que vous allez ajouter &agrave; votre application sont des animations. Vous allez cr&eacute;er une animation tr&egrave;s simple qui &eacute;crasera l&rsquo;<a href="http://msdn.microsoft.com/en-us/library/system.windows.shapes.ellipse(VS.95).aspx">Ellipse</a>, puis qui lui rendra son apparence initiale, mais gardez &agrave; l&rsquo;esprit que vous pouvez faire beaucoup plus avec les animations. Cette section est une simple introduction aux animations, il n&rsquo;est pas n&eacute;cessaire d&rsquo;en maitriser tous les d&eacute;tails. Pour plus d&rsquo;information sur les animations, jetez un &oelig;il &agrave; <a href="http://msdn.microsoft.com/en-us/library/cc189019(VS.95).aspx">Animation Overview</a>&nbsp;sur MSDN.</p>
<p>Pour cr&eacute;er une animation vous avez besoins de trois choses : Cr&eacute;er un <a href="http://msdn.microsoft.com/en-us/library/system.windows.media.animation.storyboard(VS.95).aspx">StoryBoard</a>, cr&eacute;er l&rsquo;animation, et ensuite ajouter la code n&eacute;cessaire pour d&eacute;marrer l&rsquo;animation.</p>
<p>Un <a href="http://msdn.microsoft.com/en-us/library/system.windows.media.animation.storyboard(VS.95).aspx">StoryBoard</a> est un container qui est utilis&eacute; pour regrouper les animations. A partir d&rsquo;un <a href="http://msdn.microsoft.com/en-us/library/system.windows.media.animation.storyboard(VS.95).aspx">StoryBoard</a>, les animations peuvent &ecirc;tre d&eacute;marr&eacute;es et arr&ecirc;t&eacute;es.</p>
<p>Les animations en Silverlight fonctionnent en changeant les valeurs de propri&eacute;t&eacute;s &agrave; travers le temps. La propri&eacute;t&eacute; <a href="http://msdn.microsoft.com/en-us/library/system.windows.media.animation.storyboard.targetname(VS.95).aspx">StoryBoard.TargetName</a> sp&eacute;cifie l&rsquo;objet sur lequel l&rsquo;animation va s&rsquo;effectuer. Le <a href="http://msdn.microsoft.com/en-us/library/system.windows.media.animation.storyboard.targetproperty(VS.95).aspx">Storyboard.TargetProperty</a> sp&eacute;cifie la propri&eacute;t&eacute; de l&rsquo;objet qui sera anim&eacute;e. La propri&eacute;t&eacute; <a href="http://msdn.microsoft.com/en-us/library/system.windows.media.animation.doubleanimation.to(VS.95).aspx">To</a> sp&eacute;cifie la valeur finale que prendra la propri&eacute;t&eacute; anim&eacute;e. La propri&eacute;t&eacute; <a href="http://msdn.microsoft.com/en-us/library/system.windows.media.animation.timeline.autoreverse(VS.95).aspx">AutoReverse</a> sp&eacute;cifie si l&rsquo;animation doit recommencer quand elle aura termin&eacute;, en recommen&ccedil;ant de sa valeur initiale. La propri&eacute;t&eacute; <a href="http://msdn.microsoft.com/en-us/library/system.windows.media.animation.timeline.duration(VS.95).aspx">Duration</a> sp&eacute;cifie combien de temps va durer l&rsquo;animation. Par exemple, si vous voulez une animation qui dure une seule seconde, vous devez affecter "00:00:01" (z&eacute;ro heure: z&eacute;ro minute: une seconde) &agrave; la <a href="http://msdn.microsoft.com/en-us/library/system.windows.media.animation.timeline.duration(VS.95).aspx">Duration</a>.</p>
<p>1. Dans le Solution Explorer, double-cliquez sur MainPage.xaml.</p>
<p>2. Dans la vue XAML, remplacez le <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.stackpanel(VS.95).aspx">StackPanel</a> existant par le XAML suivant.</p>
<div style="margin: 0px; display: inline; float: none; padding: 0px;" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:08932b98-2f9f-4549-b6e0-3b79fe7c669b" class="wlWriterEditableSmartContent">
<div style="border: #000080 1px solid; color: #000; font-family: 'Courier New', Courier, Monospace; font-size: 10pt;">
<div style="background: #000080; color: #fff; font-family: Verdana, Tahoma, Arial, sans-serif; font-weight: bold; padding: 2px 5px;">XAML</div>
<div style="background: #ddd; max-height: 300px; overflow: auto;"><ol style="background: #ffffff; margin: 0 0 0 2.5em; padding: 0 0 0 5px;" start="1">
<li><span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">StackPanel</span><span style="color: #0000ff;">&gt;</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">StackPanel.Resources</span><span style="color: #0000ff;">&gt;</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">Storyboard</span><span style="color: #ff0000;"> x</span><span style="color: #0000ff;">:</span><span style="color: #ff0000;">Name</span><span style="color: #0000ff;">="FirstStoryBoard"&gt;</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">DoubleAnimation</span><span style="color: #ff0000;"> Storyboard.TargetName</span><span style="color: #0000ff;">="FirstEllipse"</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #ff0000;"> Storyboard.TargetProperty</span><span style="color: #0000ff;">="Width"</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #ff0000;"> To</span><span style="color: #0000ff;">="1"</span><span style="color: #ff0000;"> AutoReverse</span><span style="color: #0000ff;">="True"</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #ff0000;"> Duration</span><span style="color: #0000ff;">="00:00:01" /&gt;</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">Storyboard</span><span style="color: #0000ff;">&gt;</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">StackPanel.Resources</span><span style="color: #0000ff;">&gt;</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">TextBlock</span><span style="color: #ff0000;"> FontSize</span><span style="color: #0000ff;">="50"</span><span style="color: #ff0000;"> Text</span><span style="color: #0000ff;">="Hello, World!" /&gt;</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">Ellipse</span><span style="color: #ff0000;"> Fill</span><span style="color: #0000ff;">="Blue"</span><span style="color: #ff0000;"> Height</span><span style="color: #0000ff;">="150"</span><span style="color: #ff0000;"> Width</span><span style="color: #0000ff;">="300"</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #ff0000;"> Name</span><span style="color: #0000ff;">="FirstEllipse" /&gt;</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">Button</span><span style="color: #ff0000;"> Height</span><span style="color: #0000ff;">="150"</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #ff0000;"> Width</span><span style="color: #0000ff;">="300"</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #ff0000;"> Name</span><span style="color: #0000ff;">="FirstButton"</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #ff0000;"> Content</span><span style="color: #0000ff;">="Click"</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #ff0000;"> Click</span><span style="color: #0000ff;">="FirstButton_Click" /&gt;</span></li>
<li style="background: #f3f3f3;"><span style="color: #a31515;"></span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">StackPanel</span><span style="color: #0000ff;">&gt;</span></li>
</ol></div>
</div>
</div>
<pre class="code"><span style="color: blue;"></span></pre>
<p>Ce XAML cr&eacute;e une section <a href="http://msdn.microsoft.com/en-us/library/system.windows.frameworkelement.resources(v=VS.95).aspx">StackPanel.Resource</a> qui contient un &eacute;l&eacute;ment <a href="http://msdn.microsoft.com/en-us/library/system.windows.media.animation.storyboard(VS.95).aspx">StoryBoard</a>. Ce <a href="http://msdn.microsoft.com/en-us/library/system.windows.media.animation.storyboard(VS.95).aspx">StoryBoard</a> est nomm&eacute; FirstStoryBoard afin que vous puissiez y acc&egrave;de depuis le code. L&rsquo;animation change la propri&eacute;t&eacute; <a href="http://msdn.microsoft.com/en-us/library/system.windows.frameworkelement.width(VS.95).aspx">Width</a> de l&rsquo;<a href="http://msdn.microsoft.com/en-us/library/system.windows.shapes.ellipse(VS.95).aspx">Ellipse</a>, cette propri&eacute;t&eacute; est de type <a href="http://msdn.microsoft.com/en-us/library/system.double(VS.95).aspx">Double</a>, vous devez donc utiliser une <a href="http://msdn.microsoft.com/en-us/library/system.windows.media.animation.doubleanimation(VS.95).aspx">DoubleAnimation</a>. Le <a href="http://msdn.microsoft.com/en-us/library/system.windows.media.animation.storyboard.targetname(VS.95).aspx">StoryBoard.TargetName</a> pointe sur l&rsquo;objet FirstEllipse. Le <a href="http://msdn.microsoft.com/en-us/library/system.windows.media.animation.storyboard.targetproperty(VS.95).aspx">Storyboard.TargetProperty</a> sp&eacute;cifie que la propri&eacute;t&eacute; de l&rsquo;<a href="http://msdn.microsoft.com/en-us/library/system.windows.shapes.ellipse(VS.95).aspx">Ellipse</a> &agrave; animer est son <a href="http://msdn.microsoft.com/en-us/library/system.windows.frameworkelement.width(VS.95).aspx">Width</a>. La propri&eacute;t&eacute; <a href="http://msdn.microsoft.com/en-us/library/system.windows.media.animation.doubleanimation.to(VS.95).aspx">To</a> a la valeur de 1, le <a href="http://msdn.microsoft.com/en-us/library/system.windows.frameworkelement.width(VS.95).aspx">Width</a> va donc diminuer de sa valeur actuelle de 200 jusqu&rsquo;&agrave; la valeur cible de 1. La propri&eacute;t&eacute; <a href="http://msdn.microsoft.com/en-us/library/system.windows.media.animation.timeline.autoreverse(VS.95).aspx">AutoReverse</a> est settee &agrave; <b>True</b>, l&rsquo;animation se r&eacute;p&egrave;tera donc. La <a href="http://msdn.microsoft.com/en-us/library/system.windows.media.animation.timeline.duration(VS.95).aspx">Duration</a> est d&eacute;finie &agrave; une seconde.</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/42/87/metablogapi/3857.2sixq3e2_2.jpg" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-42-87-metablogapi/3857.2sixq3e2_5F00_2.jpg"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="2sixq3e2" border="0" alt="2sixq3e2" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/42/87/metablogapi/4118.2sixq3e2_thumb.jpg" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-42-87-metablogapi/4118.2sixq3e2_5F00_thumb.jpg" width="536" height="403" /></a></p>
<p>Maintenant vous devez d&eacute;marrer l&rsquo;animation. Pour d&eacute;marrer l&rsquo;animation, appelez la m&eacute;thode <a href="http://msdn.microsoft.com/en-us/library/cc190590(VS.95).aspx">Begin</a> du <a href="http://msdn.microsoft.com/en-us/library/system.windows.media.animation.storyboard(VS.95).aspx">StoryBoard</a>.</p>
<p>3. Dans MainPage.xaml.cs, ajoutez un appel &agrave; la m&eacute;thode <a href="http://msdn.microsoft.com/en-us/library/cc190590(VS.95).aspx">Begin</a> pour d&eacute;marrer l&rsquo;animation FirstStoryBoard lorsque le bouton FirstButton est cliqu&eacute;.</p>
<div style="margin: 0px; display: inline; float: none; padding: 0px;" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:d9db8035-c2c0-488a-aabd-15446b76f16c" class="wlWriterEditableSmartContent">
<div style="border: #000080 1px solid; color: #000; font-family: 'Courier New', Courier, Monospace; font-size: 10pt;">
<div style="background: #000080; color: #fff; font-family: Verdana, Tahoma, Arial, sans-serif; font-weight: bold; padding: 2px 5px;">C#</div>
<div style="background: #ddd; max-height: 300px; overflow: auto;"><ol style="background: #ffffff; margin: 0 0 0 2.5em; padding: 0 0 0 5px;" start="1">
<li><span style="color: #0000ff;">private</span> <span style="color: #0000ff;">void</span> FirstButton_Click(<span style="color: #0000ff;">object</span> sender, <span style="color: #2b91af;">RoutedEventArgs</span> e)</li>
<li style="background: #f3f3f3;">{</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">if</span> (FirstButton.Content <span style="color: #0000ff;">as</span> <span style="color: #0000ff;">string</span> == <span style="color: #a31515;">"Tap"</span>)</li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;{</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FirstButton.Content = <span style="color: #a31515;">"Tap Again"</span>;</li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;}</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">else</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;{</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FirstButton.Content = <span style="color: #a31515;">"Tap"</span>;</li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;}</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;FirstStoryBoard.Begin();</li>
<li style="background: #f3f3f3;">}</li>
</ol></div>
</div>
</div>
<p>&nbsp;</p>
<div style="margin: 0px; display: inline; float: none; padding: 0px;" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:84968891-3730-48a8-8a5d-92bdf14aad23" class="wlWriterEditableSmartContent">
<div style="border: #000080 1px solid; color: #000; font-family: 'Courier New', Courier, Monospace; font-size: 10pt;">
<div style="background: #000080; color: #fff; font-family: Verdana, Tahoma, Arial, sans-serif; font-weight: bold; padding: 2px 5px;">Visual Basic</div>
<div style="background: #ddd; max-height: 300px; overflow: auto;"><ol style="background: #ffffff; margin: 0 0 0 2em; padding: 0 0 0 5px;" start="1">
<li><span style="color: #0000ff;">Private</span> <span style="color: #0000ff;">Sub</span> FirstButton_Click(<span style="color: #0000ff;">ByVal</span> sender <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Object</span>, <span style="color: #0000ff;">ByVal</span> e <span style="color: #0000ff;">As</span> <span style="color: #2b91af;">RoutedEventArgs</span>)</li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">If</span> (<span style="color: #0000ff;">CType</span>(FirstButton.Content, <span style="color: #0000ff;">String</span>) = <span style="color: #a31515;">"Tap"</span>) <span style="color: #0000ff;">Then</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FirstButton.Content = <span style="color: #a31515;">"Tap Again"</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">Else</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FirstButton.Content = <span style="color: #a31515;">"Tap"</span></li>
<li style="background: #f3f3f3;">&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">End</span> <span style="color: #0000ff;">If</span></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;FirstStoryBoard.Begin()</li>
<li style="background: #f3f3f3;"><span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Sub</span></li>
</ol></div>
</div>
</div>
<p>4. Appuyez sur la touche F5 pour d&eacute;marrer l&rsquo;application.</p>
<p>L&rsquo;exemple suivant vous montre l&rsquo;animation cr&eacute;e. Pour visualiser cet exemple, cliquez sur le bouton.</p>
<p><object data="data:application/x-oleobject;base64,QfXq3+HzJEysrJnDBxUISgAJAAADPgAAxjYAAAwAAABXAGgAaQB0AGUAAAAAAAAAAAAAAAAAAADAAAAAaAB0AHQAcAA6AC8ALwBjAHIAZQBhAHQAZQAuAG0AcwBkAG4ALgBjAG8AbQAvAGEAcwBzAGUAdABzAC8AYwBtAHMALwBkAG8AYwBzAC8AUQB1AGkAYwBrAHMAdABhAHIAdABzAFgAQQBQAC8AUQB1AGkAYwBrAFMAdABhAHIAdABzAF8ARwBlAHQAdABpAG4AZwBTAHQAYQByAHQAZQBkAF8AQQBuAGkAbQBhAHQAaQBvAG4AcwAuAHgAYQBwAAAAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAGAAAADMALgAwAC4ANAAwADYAMgA0AC4AMAAAAAoAAAB0AHIAdQBlAAAAAAAAAAAAAAAAAAAA" width="600" type="application/x-silverlight-2" height="530" autoupdate="true"><param name="source" value="http://create.msdn.com/assets/cms/docs/QuickstartsXAP/QuickStarts_GettingStarted_Animations.xap" /><param name="minRuntimeVersion" value="3.0.40624.0" /><param name="background" value="White" /><param name="autoUpgrade" value="true" /><a style="text-decoration: none;" href="http://go.microsoft.com/fwlink/?LinkID=149156&amp;v=3.0.40624.0"> <img style="border-style: none;" alt="Get Microsoft Silverlight" src="http://go.microsoft.com/fwlink/?LinkId=161376" /> </a> </object></p>
<hr align="center" size="3" width="100%" />
<h2><a name="publishing"></a>Publier sur le Marketplace</h2>
<p>Lorsque vous aurez fini votre application, vous voudrez tr&egrave;s certainement la distribuer au grand public en tant qu&rsquo;application gratuite ou encore payante. Vous ferez cela en soumettant votre application au Marketplace Windows Phone. Pour apprendre comment faire cela, allez voir <a href="http://blogs.msdn.com/b/jflavidalle/archive/2011/09/06/developpement-windows-phone-partie-13.aspx">Publishing Your Application in the Marketplace</a>.</p>
<hr align="center" size="3" width="100%" />
<h2><a name="whats_next"></a>A suivre</h2>
<p>Maintenant que vous savez comment cr&eacute;er votre premi&egrave;re application Windows Phone, jetez un &oelig;il aux <a href="http://msdn.microsoft.com/en-us/library/hh202915(VS.92).aspx">User Experience Design Guidelines for Windows Phone</a>. La totalit&eacute; de ce document ne parlera pas de suite, mais vous voudrez sans doute y retourner de temps en temps pour rafraichir vos connaissances. Une fois que vous aurez parcouru le contenu, revenez ici pour continuer sur la partie suivante qui plonge dans le XAML, le langage d&eacute;claratif utilis&eacute; pour cr&eacute;er les interfaces utilisateur de vos applications : <a href="http://blogs.msdn.com/b/lgmorand/archive/2011/09/06/developpement-windows-phone-partie-2.aspx">XAML QuickStart</a>.</p>
<h2>A voir aussi</h2>
<ul>
<li><a href="http://create.msdn.com/en-us/home/getting_started">Getting Started Guide</a></li>
<li><a href="http://msdn.microsoft.com/en-us/library/ff402526(VS.92).aspx">How to: Create Your First Silverlight Application for Windows Phone</a></li>
<li><a href="http://msdn.microsoft.com/en-us/library/ff402529(VS.92).aspx">Getting Started with Windows Phone Development</a></li>
</ul>
<p>&nbsp;</p>
<p>&nbsp;</p>
<hr />
<p><a href="#sommaire">Cliquez ici pour revenir au sommaire de la liste d&rsquo;articles</a></p>]]></content:encoded>
    </item>
    <item>
      <title>Internet Explorer 9 Les outils de développement en détails - Partie 5 : Performance et analyse des échanges réseaux</title>
      <link>https://docs.microsoft.com/archive/blogs/jflavidalle/internet-explorer-9-les-outils-de-dveloppement-en-dtails-partie-5-performance-et-analyse-des-changes-rseaux</link>
      <pubDate>Sun, 04 Sep 2011 23:44:00 GMT</pubDate>
      <dc:creator><![CDATA[JFLavidalle]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/jflavidalle/2011/09/04/internet-explorer-9-les-outils-de-dveloppement-en-dtails-partie-5-performance-et-analyse-des-changes-rseaux/</guid>
      <description><![CDATA[Ce billet fait partie d'une s&eacute;rie sur les Developer Tools inclus avec Internet Explorer (et...]]></description>
      <content:encoded><![CDATA[<p>Ce billet fait partie d'une s&eacute;rie sur les Developer Tools inclus avec Internet Explorer (et ce depuis la version 8) visant &agrave; vous aider &agrave; am&eacute;liorer vos sites Web gr&acirc;ce &agrave; des outils d'examen de contenu, &agrave; diagnostiquer des probl&egrave;mes, &agrave; am&eacute;liorer les performances, et bien plus encore:</p>
<ul>
<li><a href="https://blogs.msdn.com:443/b/jflavidalle/archive/2011/06/15/internet-explorer-9-les-outils-de-developpement-en-details-partie-1-introduction.aspx">Partie 1 - Introduction</a></li>
<li><a href="http://blogs.msdn.com/b/jflavidalle/archive/2011/06/26/internet-explorer-9-les-outils-de-developpement-en-details-partie-2-html-et-css.aspx">Partie 2 - Travailler avec HTML et CSS</a></li>
<li><a href="http://blogs.msdn.com/b/jflavidalle/archive/2011/06/28/internet-explorer-9-les-outils-de-developpement-en-details-partie-3-debogage-javascript.aspx">Partie 3 - D&eacute;bogage de script JavaScript</a></li>
<li><a href="https://blogs.msdn.com:443/b/jflavidalle/archive/2011/07/01/internet-explorer-9-les-outils-de-developpement-en-details-partie-4-profilage-javascript.aspx">Partie 4 - Profilage de script JavaScript</a></li>
<li><strong>Partie 5 - Performance et analyse des &eacute;changes r&eacute;seaux</strong></li>
</ul>
<p>Si vous ne connaissez pas les outils de d&eacute;veloppement (encore appel&eacute;s F12 Tools ou encore Developer Tools), je vous recommande de commencer par lire <a href="https://blogs.msdn.com:443/b/jflavidalle/archive/2011/06/15/internet-explorer-9-les-outils-de-developpement-en-details-partie-1-introduction.aspx">le billet d'introduction</a>.</p>
<h3>Performance et analyse des &eacute;changes r&eacute;seaux avec IE9</h3>
<p>Jusqu&rsquo;&agrave; pr&eacute;sent, nous nous sommes focalis&eacute;s sur l&rsquo;exp&eacute;rience c&ocirc;t&eacute; client, mias il est important de savoir comment votre application exploite les ressources r&eacute;seaux.</p>
<p>R&eacute;duire la taille de t&eacute;l&eacute;chargement, trouver le contenu manquant ou redirig&eacute;, l'am&eacute;lioration de l'utilisation du cache, et bien plus encore peuvent am&eacute;liorer les performances (per&ccedil;ues et r&eacute;elles) et de r&eacute;duire vos factures de bande passante.</p>
<h4>&nbsp;</h4>
<h4>L'onglet R&eacute;seau</h4>
<p>L'onglet <strong>R&eacute;seau</strong>, nouveau dans Internet Explorer 9, offre un moyen simple de capturer et d&rsquo;analyser le trafic r&eacute;seau et les requ&ecirc;tes de cache. Vous pouvez obtenir rapidement un rapport sur les demandes et les r&eacute;ponses, y compris les ent&ecirc;tes, le timing et bien d&rsquo;autres d&eacute;tails.</p>
<h5>&laquo;Attendez, est-ce Fiddler sous IE?"</h5>
<p><a href="https://channel9.msdn.com/Events/MIX/MIX11/HTM08"><img title="Session Fiddler au MIX11" border="0" alt="Fiddler Session at MIX11" align="right" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/75/06/metablogapi/2728.image_1D7768DC.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-75-06-metablogapi/2728.image_5F00_1D7768DC.png" width="127" height="142" /></a> Non, mais ...</p>
<p><a href="http://www.fiddler2.com/">Fiddler</a> est un proxy web de d&eacute;bogage d&eacute;velopp&eacute; par Eric Laurent (qui se trouve &ecirc;tre &eacute;galement un PM de l'&eacute;quipe Internet Explorer.) Alors que vous trouverez des similitudes avec Fiddler dans certains cas, ils sont tr&egrave;s diff&eacute;rents sous d&rsquo;autres aspects.</p>
<p>Eric a donn&eacute; une <a href="https://channel9.msdn.com/Events/MIX/MIX11/HTM08">session sur Fiddler au MIX11</a> , et a pass&eacute; du temps (vers 12:30 dans la vid&eacute;o) &agrave; d&eacute;crire les principales diff&eacute;rences avec les outils de d&eacute;veloppement F12. L'enregistrement de la session et les slides sont disponibles gratuitement.</p>
<p>Vous pouvez &eacute;galement en entendre plus sur la participation d&rsquo;Eric au <a href="http://herdingcode.com/?p=328">116&egrave;me &eacute;pisode du &laquo;Code de Herding" podcast</a> .</p>
<h5>Cr&eacute;ation d'une session de capture</h5>
<p>Pour commencer, lancez les outils de d&eacute;veloppement F12 (Outils &ndash;&gt; "Outils de d&eacute;veloppement F12" ou tout simplement appuyez sur la touche F12) et cliquez sur l'onglet R&eacute;seau. Cliquez sur "D&eacute;marrer la capture" et naviguez vers une page (dans ce cas, la page d&rsquo;accueil <a href="http://ietestdrive.com/">IETestDrive</a>) :</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/75/06/metablogapi/6052.image_5549ACFF.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-75-06-metablogapi/6052.image_5F00_5549ACFF.png"><img title="Session de capture r&eacute;seau" border="0" alt="Network capture session" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/75/06/metablogapi/8688.image_thumb_597384C4.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-75-06-metablogapi/8688.image_5F00_thumb_5F00_597384C4.png" width="414" height="383" /></a></p>
<h6>Vue r&eacute;sum&eacute;e</h6>
<p>Par d&eacute;faut, le trafic captur&eacute; est repr&eacute;sent&eacute; en vue r&eacute;sum&eacute;e, avec les champs suivants:</p>
<ul>
<li><strong>URL</strong></li>
<li><strong>M&eacute;thode</strong> &ndash; la m&eacute;thode HTTP (GET, POST, etc)</li>
<li><strong>R&eacute;sultat</strong> &ndash; le code retour de la r&eacute;ponse HTTP (200, 301, 304, etc) Il existe de nombreux codes, comprenant les redirections et les erreurs. Par exemple, recherchez des erreur 404, indiquant que l'URL est erron&eacute;e ou le contenu non disponible.</li>
<li><strong>Type</strong> - le type de contenu</li>
<li><strong>Re&ccedil;u(s)</strong> - Taille des donn&eacute;es re&ccedil;ues</li>
<li><strong>Ecoul&eacute;</strong> - Dur&eacute;e de la requ&ecirc;te</li>
<li><strong>Initiateur</strong> - Cause de la demande (voir <em>Initiateurs de Requ&ecirc;tes</em> ci-dessous)</li>
<li><strong>Minutage</strong> - Graphique du timing requ&ecirc;te/r&eacute;ponse (voir ci-dessous <em>Timings de Requ&ecirc;tes)</em></li>
</ul>
<p>Cliquez sur n'importe quelle ent&ecirc;te de champ pour le trier, et faites un clic droit pour les options telles que l&rsquo;affichage des donn&eacute;es en octets ou les temps en millisecondes :</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/75/06/metablogapi/5875.image_30F4A2B0.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-75-06-metablogapi/5875.image_5F00_30F4A2B0.png"><img title="R&eacute;sum&eacute; des options d'affichage" border="0" alt="Summary view options" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/75/06/metablogapi/2335.image_thumb_70525640.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-75-06-metablogapi/2335.image_5F00_thumb_5F00_70525640.png" width="244" height="135" /></a></p>
<p>Double-cliquez ou s&eacute;lectionnez un &eacute;l&eacute;ment et cliquez sur "Atteindre la vue d&eacute;taill&eacute;e" pour plus de d&eacute;tails.</p>
<h6>Vue d&eacute;taill&eacute;e</h6>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/75/06/metablogapi/0753.image_1D67430F.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-75-06-metablogapi/0753.image_5F00_1D67430F.png"><img title="Vue d&eacute;taill&eacute;e" border="0" alt="Detailed view" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/75/06/metablogapi/6445.image_thumb_358AAD6A.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-75-06-metablogapi/6445.image_5F00_thumb_5F00_358AAD6A.png" width="414" height="185" /></a></p>
<p>Il y a sept cat&eacute;gories de d&eacute;tails pour chaque demande:</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/75/06/metablogapi/3480.image_226980BE.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-75-06-metablogapi/3480.image_5F00_226980BE.png"><img title="Vue d&eacute;taill&eacute;e des cat&eacute;gories" border="0" alt="Detailed view categories" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/75/06/metablogapi/3718.image_thumb_0D0BCB56.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-75-06-metablogapi/3718.image_5F00_thumb_5F00_0D0BCB56.png" width="414" height="23" /></a></p>
<ul>
<li><strong>En-t&ecirc;tes de demande</strong></li>
<li><strong>Corps de demande</strong> - Le contenu (le corps) de la demande, s&rsquo;il existe.</li>
<li><strong>En-t&ecirc;tes de r&eacute;ponse</strong></li>
<li><strong>Corps de r&eacute;ponse </strong>- le contenu (le corps) de la r&eacute;ponse. Pr&eacute;sent&eacute; sous forme de texte (s&rsquo;il s&rsquo;agit de script, css, etc) ou graphiquement si possible (de type image)</li>
<li><strong>Cookies</strong> - Les cookies envoy&eacute;s ou re&ccedil;us pour la demande</li>
<li><strong>Initiateur</strong> - Ce qui a pouss&eacute; la demande. Voir <em>Initiateurs de requ&ecirc;te </em>ci-dessous.</li>
<li><strong>Minutage</strong> - r&eacute;partition d&eacute;taill&eacute;e du timing. Voir <em>Minutage de requ&ecirc;te </em>ci-dessous.</li>
</ul>
<p>Vous pouvez parcourir les &eacute;l&eacute;ments avec les boutons Pr&eacute;c&eacute;dent <a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/75/06/metablogapi/7534.image_2C4E7229.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-75-06-metablogapi/7534.image_5F00_2C4E7229.png"><img title="Bouton Pr&eacute;c&eacute;dent" border="0" alt="Previous button" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/75/06/metablogapi/2742.image_thumb_79EA9EA9.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-75-06-metablogapi/2742.image_5F00_thumb_5F00_79EA9EA9.png" width="48" height="17" /></a> (CTRL + ,) et Suivant <a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/75/06/metablogapi/7115.image_04A7F5FF.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-75-06-metablogapi/7115.image_5F00_04A7F5FF.png"><img title="Bouton Suivant" border="0" alt="Next button" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/75/06/metablogapi/1643.image_thumb_2456CFC7.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-75-06-metablogapi/1643.image_5F00_thumb_5F00_2456CFC7.png" width="50" height="17" /></a> (CTRL + .) , et appuyez sur "Retour &agrave; la vue r&eacute;sum&eacute;e" pour revenir &agrave; la vue initiale.</p>
<h4>Minutage de requ&ecirc;te</h4>
<p>Le minutage de requ&ecirc;te peut sembler un peu complexe au premier abord, mais il assez simple une fois quelques notions maitris&eacute;es.</p>
<p>Commen&ccedil;ons avec une requ&ecirc;te simple d&rsquo;une image de la home page <a href="http://ietestdrive.com/">IETestDrive</a> (apr&egrave;s effacement du cache - voir plus loin), montrant les d&eacute;tails du minutage pour le fichier <em>GraySwooshWatermark.png</em> :</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/75/06/metablogapi/6136.image_4405A98F.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-75-06-metablogapi/6136.image_5F00_4405A98F.png"><img title="Onglet Timings" border="0" alt="Timings tab" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/75/06/metablogapi/8182.image_thumb_711A965D.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-75-06-metablogapi/8182.image_5F00_thumb_5F00_711A965D.png" width="414" height="88" /></a></p>
<p>Zoom sur le c&ocirc;t&eacute; gauche :</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/75/06/metablogapi/2335.image_093E00B9.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-75-06-metablogapi/2335.image_5F00_093E00B9.png"><img title="Timings d&eacute;tails" border="0" alt="Timings detail" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/75/06/metablogapi/0753.image_thumb_2F9FE404.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-75-06-metablogapi/0753.image_5F00_thumb_5F00_2F9FE404.png" width="354" height="166" /></a></p>
<p>Le cycle requ&ecirc;te/r&eacute;ponse est compos&eacute; de sept composantes :</p>
<ul>
<li><strong>Attente</strong> - Temps depuis le d&eacute;but de la navigation sur la page jusqu&rsquo;au moment o&ugrave; la requ&ecirc;te a commenc&eacute;.</li>
<li><strong>D&eacute;but</strong> &ndash; Le temps depuis la cr&eacute;ation de la requ&ecirc;te jusqu&rsquo;au d&eacute;but de son envoi.</li>
<li><strong>Demande</strong> &ndash; Le temps depuis de d&eacute;but de l&rsquo;envoie de la requ&ecirc;te jusqu&rsquo;au d&eacute;but de la r&eacute;ception de la r&eacute;ponse. Aussi connu comme <em>le temps de premier octet.</em></li>
<li><strong>R&eacute;ponse</strong> &ndash; Le temps depuis le temps du premier octet jusqu&rsquo;&agrave; l'ach&egrave;vement de la r&eacute;ception de la r&eacute;ponse.</li>
<li><strong>Ecart</strong> &ndash; D&eacute;lai entre l'ach&egrave;vement de la r&eacute;ception de la r&eacute;ponse et l&rsquo;&eacute;v&egrave;nement page load.</li>
<li><strong>DOMContentLoaded</strong> &ndash; Timing de l'&eacute;v&egrave;nement DOMContentLoaded.</li>
<li><strong>Load (event)</strong> &ndash; Timing de l'&eacute;v&egrave;nement page load.</li>
</ul>
<p>Cliquez dans la liste ou sur le sch&eacute;ma pour mettre en &eacute;vidence chaque composant de minutage.</p>
<ul>
<li><em><strong>Astuce:</strong> Si vous oubliez, les descriptions ci-dessus sont pr&eacute;sent&eacute;s dans les outils de d&eacute;veloppement F12 lorsque vous cliquez sur chaque.</em></li>
</ul>
<h5>DOMContentLoaded vs. Page Load</h5>
<p>Pourquoi les &eacute;v&egrave;nements DOMContentLoaded et page Load sont diff&eacute;rent? DOMContentLoaded se d&eacute;clenche lorsque la page et les scripts sont charg&eacute;s. Cela peut se produire avant que les autres demandes (par exemple les images) sont termin&eacute;es, &agrave; ce moment l&agrave; l'&eacute;v&egrave;nement page Load est lev&eacute;.</p>
<p>La diff&eacute;rence entre ceux-ci peut &ecirc;tre importantes, surtout lors du t&eacute;l&eacute;chargement de grands illustrations, publicit&eacute;s ou autres contenus, de sorte qu'il peut &ecirc;tre utile de lier les scripts de la page &agrave; l'&eacute;v&egrave;nement DOMContentLoaded plut&ocirc;t qu&rsquo;au page Load.</p>
<p>Pour une bonne d&eacute;monstration de ceci en situation, lancez le <a href="http://ie.microsoft.com/testdrive/HTML5/DOMContentLoaded/Default.html">DOMContentLoaded exemple</a> du site <a href="http://ietestdrive.com/">IETestDrive</a> :</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/75/06/metablogapi/5556.image_47C34E5F.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-75-06-metablogapi/5556.image_5F00_47C34E5F.png"><img title="Par exemple DOMContentLoaded" border="0" alt="DOMContentLoaded example" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/75/06/metablogapi/7522.image_thumb_0BB70CAA.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-75-06-metablogapi/7522.image_5F00_thumb_5F00_0BB70CAA.png" width="414" height="255" /></a></p>
<p>Lancez-le deux fois pour voir l'impact que la mise en cache du navigateur a sur le delta entre les &eacute;v&egrave;nements.</p>
<h4>Analyser le trafic en cours</h4>
<p>Jusqu'ici, nous nous sommes focalis&eacute;s sur le profilage d'utilisation du r&eacute;seau li&eacute;e au chargement d&rsquo;une page initiale, mais les outils de d&eacute;veloppement F12 peuvent &eacute;galement suivre les demandes en cours, telles que les demandes de contenu suppl&eacute;mentaire et les appels bas&eacute;es sur Ajax.</p>
<p>Pour voir cela en situation nous allons ex&eacute;cuter le <a href="http://ie.microsoft.com/testdrive/HTML5/TexasHoldem/Default.html">Texas Hold'em exemple</a> &agrave; partir du site <a href="http://ietestdrive.com/">IETestDrive</a> .</p>
<p>Ex&eacute;cutez l'exemple et sur l'onglet R&eacute;seau, cliquez sur "D&eacute;marrer la capture". Ensuite, passez la souris sur le bouton "START", mais ne cliquez pas encore:</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/75/06/metablogapi/8508.image_236E4410.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-75-06-metablogapi/8508.image_5F00_236E4410.png"><img title="Le Texas Hold'em par exemple" border="0" alt="Texas Hold'em example" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/75/06/metablogapi/5875.image_thumb_08557502.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-75-06-metablogapi/5875.image_5F00_thumb_5F00_08557502.png" width="414" height="312" /></a></p>
<p>Vous verrez qu&rsquo;une demande pour une image <em>(buttonGeneric_Hover.png)</em> a &eacute;t&eacute; faite au moment o&ugrave; le curseur survolait ​​le bouton:</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/75/06/metablogapi/6114.image_200CAC68.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-75-06-metablogapi/6114.image_5F00_200CAC68.png"><img title="Demande d'images" border="0" alt="Image request" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/75/06/metablogapi/6433.image_thumb_466E8FB3.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-75-06-metablogapi/6433.image_5F00_thumb_5F00_466E8FB3.png" width="414" height="28" /></a></p>
<h5>Initiateurs de requ&ecirc;te</h5>
<p>Pourquoi IE9 a attendu pour t&eacute;l&eacute;charger cette image? Pour avoir plus d&rsquo;informations, double-cliquez (ou survolez pour obtenir une infobulle) sur la zone Initiateur. Ci-dessous une capture montrant la valeur "background-image" :</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/75/06/metablogapi/4061.image_7AA2B8F9.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-75-06-metablogapi/4061.image_5F00_7AA2B8F9.png"><img title="D&eacute;tails de l'image demande de l'initiateur" border="0" alt="Image request Initiator details" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/75/06/metablogapi/6038.image_thumb_19E55FCD.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-75-06-metablogapi/6038.image_5F00_thumb_5F00_19E55FCD.png" width="414" height="166" /></a></p>
<p>L'initiateur nous indique ce qui a incit&eacute; IE9 &agrave; faire la requ&ecirc;te. Dans ce cas, le CSS pr&eacute;cise un fond alternatif au moment du survol du bouton, mais IE d&eacute;f&egrave;re le t&eacute;l&eacute;chargement de l'image jusqu'&agrave; ce que l'&eacute;v&egrave;nement hover soit ex&eacute;cut&eacute;. (Comme indiqu&eacute; dans <a href="http://blogs.msdn.com/b/jflavidalle/archive/2011/06/26/internet-explorer-9-les-outils-de-developpement-en-details-partie-2-html-et-css.aspx">la partie 2</a> , vous pouvez s&eacute;lectionner le bouton et afficher l'onglet Styles CSS pour voir la r&egrave;gle de survol input.actionButton:hover.)</p>
<p>Maintenant cliquez sur le bouton "START" et vous verrez trois requ&ecirc;tes de plus :</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/75/06/metablogapi/4061.image_2AE98DB0.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-75-06-metablogapi/4061.image_5F00_2AE98DB0.png"><img title="Des demandes suppl&eacute;mentaires" border="0" alt="Additional requests" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/75/06/metablogapi/5050.image_thumb_07D91C40.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-75-06-metablogapi/5050.image_5F00_thumb_5F00_07D91C40.png" width="414" height="434" /></a></p>
<p>Les requ&ecirc;tes ont &eacute;t&eacute; pour le background d'un autre &eacute;l&eacute;ment, et les deux premi&egrave;res cartes jou&eacute;es. Cliquez sur "Atteindre la vue d&eacute;taill&eacute;e" ou double-cliquez sur des requ&ecirc;tes des carte, puis choisissez l&rsquo;onglet "Corps de r&eacute;ponse" :</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/75/06/metablogapi/3718.image_50CF1839.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-75-06-metablogapi/3718.image_5F00_50CF1839.png"><img title="Le corps de r&eacute;ponse pour une carte &agrave; jouer" border="0" alt="Response body for a playing card" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/75/06/metablogapi/3806.image_thumb_7343A6F4.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-75-06-metablogapi/3806.image_5F00_thumb_5F00_7343A6F4.png" width="414" height="202" /></a></p>
<p>A nouveau, pour voir pourquoi la demande a &eacute;t&eacute; faite, cliquez sur l&rsquo;onglet "Initiateur" :</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/75/06/metablogapi/1234.image_60227A48.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-75-06-metablogapi/1234.image_5F00_60227A48.png"><img title="L'initiateur demande de carte d'image" border="0" alt="Card image request initiator" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/75/06/metablogapi/0763.image_thumb_7845E4A3.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-75-06-metablogapi/0763.image_5F00_thumb_5F00_7845E4A3.png" width="414" height="211" /></a></p>
<p>Nous voyons cette fois-ci que le JavaScript chang&eacute; l'attribut src de l'&eacute;l&eacute;ment img (dans ce cas de &laquo;Hearts_Queen.png&raquo;), ce qui a abouti &agrave; une requ&ecirc;te de t&eacute;l&eacute;chargement de l'image.</p>
<p>Du HTML au CSS et aux scripts, il y a beaucoup d'initiateurs demande possible. Voici quelques exemples courants :</p>
<ul>
<li>background-image</li>
<li>click</li>
<li>@font-face</li>
<li>&lt;frame&gt;</li>
<li>frame navigate</li>
<li>&lt;img&gt;</li>
<li>@import</li>
<li>innerHtml</li>
<li>&lt;input type=&ldquo;image&rdquo;&gt;</li>
<li>navigate</li>
<li>Refresh</li>
<li>&lt;script&gt;</li>
<li>XmlHttpRequest</li>
</ul>
<p>Prendre le temps de comprendre les initiateurs vous donnera un outil suppl&eacute;mentaire pour am&eacute;liorer les performances des pages et du r&eacute;seau. Pour plus de d&eacute;tails, voir <em>&ldquo;Understanding Download-Initiator&rdquo;</em> dans ce&nbsp; <a href="http://blogs.msdn.com/b/fiddler/archive/2011/02/10/fiddler-is-better-with-internet-explorer-9.aspx">Fiddler blog post</a> .</p>
<p>&nbsp;</p>
<h4>La mise en cache du navigateur</h4>
<p>Apr&egrave;s un certain nombre de mains au <a href="http://ie.microsoft.com/testdrive/HTML5/TexasHoldem/Default.html">Texas Hold'em</a> , vous remarquerez peut-&ecirc;tre des requ&ecirc;tes de certains &eacute;l&eacute;ments ne sont pas faites ou donnent un r&eacute;sultat 304. C'est parce qu'ils ont d&eacute;j&agrave; &eacute;t&eacute; t&eacute;l&eacute;charg&eacute;s pour jouer d'autres mains et sont d&eacute;j&agrave; disponibles localement.</p>
<p>Red&eacute;marrez l'application (rafraichissement IE9) et vous pouvez voir quelques 304. Par exemple:</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/75/06/metablogapi/0245.image_6524B7F7.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-75-06-metablogapi/0245.image_5F00_6524B7F7.png"><img title="304 r&eacute;sultats" border="0" alt="304 results" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/75/06/metablogapi/5444.image_thumb_4B5081C8.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-75-06-metablogapi/5444.image_5F00_thumb_5F00_4B5081C8.png" width="414" height="31" /></a></p>
<p>Notez la grande diff&eacute;rence dans le champ re&ccedil;u entre les images en cache (304) et les t&eacute;l&eacute;charg&eacute;es (200). Dans cet exemple, 11.65KB pour l'image enti&egrave;re, contre seuleument 162 octets pour une 304 &ndash; r&eacute;sultat Not Modified.</p>
<p>Pour voir ce &agrave; un niveau sup&eacute;rieur, voici une premi&egrave;re demande &agrave; l'exemple <a href="http://ie.microsoft.com/testdrive/HTML5/CSS3MediaQueries/Default.html">CSS3 Media Queries example</a> :</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/75/06/metablogapi/4861.image_038EF8E1.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-75-06-metablogapi/4861.image_5F00_038EF8E1.png"><img title="Chargement de la page initiale" border="0" alt="Initial page load" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/75/06/metablogapi/1212.image_thumb_21F939CA.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-75-06-metablogapi/1212.image_5F00_thumb_5F00_21F939CA.png" width="414" height="118" /></a></p>
<p>La deuxi&egrave;me demande est tr&egrave;s diff&eacute;rente:</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/75/06/metablogapi/7510.image_47EEEA20.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-75-06-metablogapi/7510.image_5F00_47EEEA20.png"><img title="Deuxi&egrave;me demande de page" border="0" alt="Second page request" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/75/06/metablogapi/8750.image_thumb_7182B553.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-75-06-metablogapi/8750.image_5F00_thumb_5F00_7182B553.png" width="414" height="118" /></a></p>
<p>Non seulement la page est pr&ecirc;te plus rapidement, mais la plupart des demandes ont &eacute;t&eacute; servis par le cache du navigateur (en t&eacute;moignent les 304, les petits segments bleues visibles sous Minutage.)</p>
<ul>
<li><em><strong>Astuce:</strong> Utilisez les outils de d&eacute;veloppements F12 pour vous assurer que votre serveur web envoie des en-t&ecirc;tes de cache correctement configur&eacute; au niveau des expirations.</em></li>
<li><em><strong>Astuce:</strong> Pour am&eacute;liorer le cache, assurez-vous des noms de fichier r&eacute;f&eacute;renc&eacute;s <strong>et</strong> de la case utilis&eacute;e.</em> <em>L&rsquo;exemple <a href="http://ie.microsoft.com/testdrive/Performance/NetworkMonitor/Default.html">surveillance du r&eacute;seau</a> montre l'effet de l&rsquo;usage de mauvaise case.</em></li>
</ul>
<p>Pour effacer le cache et donc forcer l&rsquo;usage du r&eacute;seau, cliquez sur le bouton "Effacer le cache navigateur"&nbsp; <a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/75/06/metablogapi/5025.image_254AABA5.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-75-06-metablogapi/5025.image_5F00_254AABA5.png"><img title="Bouton Effacer le cache du navigateur" border="0" alt="Clear browser cache button" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/75/06/metablogapi/3465.image_thumb_247245BB.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-75-06-metablogapi/3465.image_5F00_thumb_5F00_247245BB.png" width="21" height="18" /></a> (CTRL + R).</p>
<p>Le champ Minutage montre le timing des requ&ecirc;tes les plus tardives par rapport &agrave; la requ&ecirc;te d'origine (y compris les temps d'attente d&rsquo;action sur un bouton comme dans le <a href="http://ie.microsoft.com/testdrive/HTML5/TexasHoldem/Default.html">Texas Hold'em</a> , par exemple). Ceci se passe jusqu'&agrave; ce que vous d&eacute;marrez une nouvelle session ou cliquez sur le bouton "Effacer" <a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/75/06/metablogapi/5444.image_5D1CEFC8.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-75-06-metablogapi/5444.image_5F00_5D1CEFC8.png"><img title="Bouton Effacer" border="0" alt="Clear button" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/75/06/metablogapi/6180.image_thumb_7CCBC990.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-75-06-metablogapi/6180.image_5F00_thumb_5F00_7CCBC990.png" width="42" height="17" /></a> qui efface les r&eacute;sultats et les timings pour les demandes ult&eacute;rieures.</p>
<h4>Sauvegarde des captures r&eacute;seau</h4>
<p>Comme nous l'avons vu avec le profilage JavaScript, vous pouvez &eacute;galement enregistrer les d&eacute;tails de profilage r&eacute;seau dans un fichier externe. Appuyez sur le bouton "Exporter le trafic captur&eacute;" <a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/75/06/metablogapi/3463.image_1C7AA359.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-75-06-metablogapi/3463.image_5F00_1C7AA359.png"><img title="Bouton Exporter trafic captur&eacute;" border="0" alt="Export captured traffic button" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/75/06/metablogapi/7587.image_thumb_42DC86A4.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-75-06-metablogapi/7587.image_5F00_thumb_5F00_42DC86A4.png" width="18" height="17" /></a> pour enregistrer les r&eacute;sultats de la capture :</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/75/06/metablogapi/3463.image_4D99DDF9.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-75-06-metablogapi/3463.image_5F00_4D99DDF9.png"><img title="l'image" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/75/06/metablogapi/5428.image_thumb_61B2FA82.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-75-06-metablogapi/5428.image_5F00_thumb_5F00_61B2FA82.png" width="354" height="70" /></a></p>
<p>Les donn&eacute;es R&eacute;seau peuvent &ecirc;tre sauvegard&eacute;s au format CSV (Comma Separated Values) ou XML en utilisant le format HTTP Archive, d&eacute;crit dans <a href="http://blogs.msdn.com/b/ie/archive/2010/04/22/ie9-developer-tools-network-tab.aspx">ce blog IE</a> .</p>
<ul>
<li><em><strong>Astuce:</strong> Comme mentionn&eacute; dans le blog IE, vous pouvez importer ces fichiers XML dans</em> <a href="http://blogs.msdn.com/b/fiddler/archive/2010/06/30/import-and-export-http-archives-from-fiddler.aspx">Fiddler</a> <em></em><em>.</em> <em>.</em></li>
</ul>
<h4>Conclusion</h4>
<p>J'esp&egrave;re sinc&egrave;rement que vous avez trouv&eacute; cette s&eacute;rie utile. Si vous avez des commentaires ou des id&eacute;es pour d'autres sc&eacute;narios &agrave; couvrir, s'il vous pla&icirc;t laissez un commentaire ici.</p>
<p>Merci, et amusez vous bien avec les outils de d&eacute;veloppement F12!</p>
<p>&nbsp;</p>
<p>Ce billet est une adaptation du post de <a href="https://blogs.msdn.com:443/b/cbowen">Chris Bowen</a> (Principal Developer Evangelist for Microsoft) : <a href="https://blogs.msdn.com:443/b/cbowen/archive/2011/07/08/internet-explorer-9-developer-tools-deep-dive-part-5-network-performance-and-debugging.aspx">Internet Explorer 9 Developer Tools Deep Dive &ndash; Part 5: Network Performance and Debugging</a></p>]]></content:encoded>
    </item>
  </channel>
</rss>