<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2enclosuresfull.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0"><channel><title>Shai Raiten</title><link>http://blogs.microsoft.co.il/blogs/shair/</link><description>&lt;p&gt;&lt;a href="http://feeds.feedburner.com/ShaiRaiten" rel="alternate"&gt;&lt;img src="http://www.feedburner.com/fb/images/pub/feed-icon32x32.png" alt="" style="vertical-align:middle;border:0;" /&gt;&lt;/a&gt;&amp;nbsp;&lt;a href="http://feeds.feedburner.com/ShaiRaiten" rel="alternate"&gt;&lt;font color="white"&gt;&lt;b&gt;Subscribe&lt;/b&gt;&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;</description><dc:language>en</dc:language><generator>CommunityServer 2007.1 (Build: 20917.1142)</generator><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/ShaiRaiten" /><feedburner:info uri="shairaiten" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:feedFlare href="http://www.podnova.com/add.srf?url=http%3A%2F%2Ffeeds.feedburner.com%2FShaiRaiten" src="http://www.podnova.com/img_chicklet_podnova.gif">Subscribe with Podnova</feedburner:feedFlare><feedburner:feedFlare href="http://www.newsgator.com/ngs/subscriber/subext.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2FShaiRaiten" src="http://www.newsgator.com/images/ngsub1.gif">Subscribe with NewsGator</feedburner:feedFlare><feedburner:feedFlare href="http://www.netvibes.com/subscribe.php?url=http%3A%2F%2Ffeeds.feedburner.com%2FShaiRaiten" src="http://www.netvibes.com/img/add2netvibes.gif">Subscribe with Netvibes</feedburner:feedFlare><feedburner:feedFlare href="http://www.pageflakes.com/subscribe.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2FShaiRaiten" src="http://www.pageflakes.com/ImageFile.ashx?instanceId=Static_4&amp;fileName=ATP_blu_91x17.gif">Subscribe with Pageflakes</feedburner:feedFlare><feedburner:feedFlare href="http://add.my.yahoo.com/rss?url=http%3A%2F%2Ffeeds.feedburner.com%2FShaiRaiten" src="http://us.i1.yimg.com/us.yimg.com/i/us/my/addtomyyahoo4.gif">Subscribe with My Yahoo!</feedburner:feedFlare><feedburner:feedFlare href="http://odeo.com/listen/subscribe?feed=http%3A%2F%2Ffeeds.feedburner.com%2FShaiRaiten" src="http://odeo.com/img/badge-channel-black.gif">Subscribe with ODEO</feedburner:feedFlare><feedburner:feedFlare href="http://fusion.google.com/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2FShaiRaiten" src="http://buttons.googlesyndication.com/fusion/add.gif">Subscribe with Google</feedburner:feedFlare><feedburner:feedFlare href="http://www.plusmo.com/add?url=http%3A%2F%2Ffeeds.feedburner.com%2FShaiRaiten" src="http://plusmo.com/res/graphics/fbplusmo.gif">Subscribe with Plusmo</feedburner:feedFlare><feedburner:feedFlare href="http://www.thefreedictionary.com/_/hp/AddRSS.aspx?http%3A%2F%2Ffeeds.feedburner.com%2FShaiRaiten" src="http://img.tfd.com/hp/addToTheFreeDictionary.gif">Subscribe with The Free Dictionary</feedburner:feedFlare><feedburner:feedFlare href="http://www.bitty.com/manual/?contenttype=rssfeed&amp;contentvalue=http%3A%2F%2Ffeeds.feedburner.com%2FShaiRaiten" src="http://www.bitty.com/img/bittychicklet_91x17.gif">Subscribe with Bitty Browser</feedburner:feedFlare><feedburner:feedFlare href="http://www.newsalloy.com/?rss=http%3A%2F%2Ffeeds.feedburner.com%2FShaiRaiten" src="http://www.newsalloy.com/subrss3.gif">Subscribe with NewsAlloy</feedburner:feedFlare><feedburner:feedFlare href="http://www.live.com/?add=http%3A%2F%2Ffeeds.feedburner.com%2FShaiRaiten" src="http://tkfiles.storage.msn.com/x1piYkpqHC_35nIp1gLE68-wvzLZO8iXl_JMledmJQXP-XTBOLfmQv4zhj4MhcWEJh_GtoBIiAl1Mjh-ndp9k47If7hTaFno0mxW9_i3p_5qQw">Subscribe with Live.com</feedburner:feedFlare><feedburner:feedFlare href="http://mix.excite.eu/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2FShaiRaiten" src="http://image.excite.co.uk/mix/addtomix.gif">Subscribe with Excite MIX</feedburner:feedFlare><feedburner:feedFlare href="http://www.yourminis.com/subscribe.aspx?u=http%3A%2F%2Ffeeds.feedburner.com%2FShaiRaiten" src="http://www.yourminis.com/images/addtoyourminisbadge.gif">Subscribe with Yourminis.com</feedburner:feedFlare><feedburner:feedFlare href="http://download.attensa.com/app/get_attensa.html?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2FShaiRaiten" src="http://www.attensa.com/blogs/attensa/WindowsLiveWriter/BadgeredintoBadges_10C02/attensa_feed_button5.gif">Subscribe with Attensa for Outlook</feedburner:feedFlare><feedburner:feedFlare href="http://www.webwag.com/wwgthis.php?url=http%3A%2F%2Ffeeds.feedburner.com%2FShaiRaiten" src="http://www.webwag.com/images/wwgthis.gif">Subscribe with Webwag</feedburner:feedFlare><feedburner:feedFlare href="http://hub.netomat.net/account/account.autoSubscribe.jspa?urls=http%3A%2F%2Ffeeds.feedburner.com%2FShaiRaiten" src="http://www.netomat.net/blogger/images/icon_netomat_feedbutton.gif">Subscribe with netomat Hub</feedburner:feedFlare><feedburner:feedFlare href="http://www.podcastready.com/oneclick_bookmark.php?url=http%3A%2F%2Ffeeds.feedburner.com%2FShaiRaiten" src="http://www.podcastready.com/images/podcastready_button.gif">Subscribe with Podcast Ready</feedburner:feedFlare><feedburner:feedFlare href="http://www.flurry.com/pushRssFeed.do?r=fb&amp;url=http%3A%2F%2Ffeeds.feedburner.com%2FShaiRaiten" src="http://www.flurry.com/images/flurry_rss_logo2.gif">Subscribe with Flurry</feedburner:feedFlare><feedburner:feedFlare href="http://www.wikio.com/subscribe?url=http%3A%2F%2Ffeeds.feedburner.com%2FShaiRaiten" src="http://www.wikio.com/shared/img/add2wikio.gif">Subscribe with Wikio</feedburner:feedFlare><feedburner:feedFlare href="http://www.dailyrotation.com/index.php?feed=http%3A%2F%2Ffeeds.feedburner.com%2FShaiRaiten" src="http://www.dailyrotation.com/rss-dr2.gif">Subscribe with Daily Rotation</feedburner:feedFlare><item><title>TFS API Part 46 (VS11) – Team Settings</title><link>http://feedproxy.google.com/~r/ShaiRaiten/~3/LE1-fNr5Xro/tfs-api-part-46-vs11-team-settings.aspx</link><pubDate>Wed, 23 May 2012 09:35:00 GMT</pubDate><guid isPermaLink="false">b5c4f5bc-c09b-4439-a595-91a98c1847df:1100367</guid><dc:creator>shair</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://blogs.microsoft.co.il/blogs/shair/rsscomments.aspx?PostID=1100367</wfw:commentRss><comments>http://blogs.microsoft.co.il/blogs/shair/archive/2012/05/23/tfs-api-part-46-vs11-team-settings.aspx#comments</comments><description>&lt;div class="share-buttons"&gt;
&lt;div style="TEXT-ALIGN:left;LINE-HEIGHT:1em;PADDING-RIGHT:15px;FONT-FAMILY:Arial, Helvetica, sans-serif;FLOAT:left;FONT-SIZE:14px;"&gt;&lt;a class="twitter-share-button" href="http://blogs.microsoft.co.il/blogs/shair/archive/2012/05/23/tfs-api-part-46-vs11-team-settings.aspx"&gt;Tweet&lt;/a&gt;&lt;/div&gt;
&lt;div style="TEXT-ALIGN:left;LINE-HEIGHT:1em;PADDING-RIGHT:25px;FONT-FAMILY:Arial, Helvetica, sans-serif;FLOAT:left;FONT-SIZE:14px;"&gt;
&lt;script type="IN/Share"&gt;&lt;/script&gt;
&lt;/div&gt;
&lt;div style="TEXT-ALIGN:left;LINE-HEIGHT:1em;FONT-FAMILY:Arial, Helvetica, sans-serif;FLOAT:left;FONT-SIZE:14px;"&gt;&lt;iframe style="BORDER-BOTTOM:medium none;BORDER-LEFT:medium none;WIDTH:100px;HEIGHT:21px;OVERFLOW:hidden;BORDER-TOP:medium none;BORDER-RIGHT:medium none;" src="http://www.facebook.com/plugins/like.php?href=http://blogs.microsoft.co.il/blogs/shair/archive/2012/05/23/tfs-api-part-46-vs11-team-settings.aspx&amp;amp;send=false&amp;amp;layout=button_count&amp;amp;width=450&amp;amp;show_faces=false&amp;amp;action=like&amp;amp;colorscheme=light&amp;amp;font=segoe+ui&amp;amp;height=21&amp;amp;appId=184186808308137" frameborder="0"&gt;&lt;/iframe&gt;&lt;/div&gt;
&lt;div style="TEXT-ALIGN:left;LINE-HEIGHT:1em;FONT-FAMILY:Arial, Helvetica, sans-serif;FLOAT:left;FONT-SIZE:14px;"&gt;
&lt;div class="g-plusone"&gt;&lt;/div&gt;&lt;/div&gt;
&lt;div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;
&lt;p&gt;In the previous posts “&lt;a href="http://blogs.microsoft.co.il/blogs/shair/archive/2012/05/21/tfs-api-part-45-vs11-modify-teams-and-team-members.aspx"&gt;TFS API Part 45 (VS11) – Modify Teams and Team Members&lt;/a&gt;” I talked about Teams, from getting all team to modify and creating new Team using TFS API.&lt;/p&gt;  &lt;p&gt;Now, Teams are more than just a “Security Group”, they hold specific settings such as relevant Areas/Iteration for that Team.&lt;/p&gt;  &lt;p&gt;The “Team” can be assigned to Backlog Iteration (Set as Team’s backlog Iteration), this takes all paths under that iteration and add them to the team backlog. You can also change the Iteration backlog to another path (not just the root), you just need at least one child below.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.microsoft.co.il/blogs/shair/image_032293A2.png"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;margin:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="image" src="http://blogs.microsoft.co.il/blogs/shair/image_thumb_101C73B3.png" width="194" height="153" /&gt;&lt;/a&gt;&amp;#160;&lt;a href="http://blogs.microsoft.co.il/blogs/shair/image_679D919E.png"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="image" src="http://blogs.microsoft.co.il/blogs/shair/image_thumb_254A795B.png" width="448" height="154" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.microsoft.co.il/blogs/shair/image_1870233D.png"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="image" src="http://blogs.microsoft.co.il/blogs/shair/image_thumb_1DDE93E1.png" width="627" height="303" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;And from TFS 11 you can define &lt;strong&gt;Start Date &lt;/strong&gt;and &lt;strong&gt;End Date &lt;/strong&gt;for &lt;strong&gt;Iterations&lt;/strong&gt;, and there is a cool fact – those dates are not just for beauty – TFS takes those iterations and automatically show you what is the current Iteration that you working on, what iterations you completed (past) and what iterations are next. you might have overlap iterations but for some reason you can only have one “Current” iteration. &lt;/p&gt;  &lt;p&gt;The “Current” iteration is defined by the iteration for which the start date is less than or equal to today’s date and the end date is greater than or equal to today and than is just sorted by Name.&lt;/p&gt;  &lt;p&gt;After you define the Iterations for the Project and for each Team you might want to define the Areas for the Team, you can also define a Default Area – Means that each work item you open&amp;#160; under that Team.&lt;/p&gt;  &lt;p&gt;When you define “Area\s” for Team this means that when you enter your Product Backlog (not query) you will only see work items under that “Area” (you choose if to include sub-areas)&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.microsoft.co.il/blogs/shair/image_3FE6EFA7.png"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="image" src="http://blogs.microsoft.co.il/blogs/shair/image_thumb_128559D7.png" width="630" height="432" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Now, after we understand what and why let’s talk about How using TFS API.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.microsoft.co.il/blogs/shair/image_3B40BF20.png"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="image" src="http://blogs.microsoft.co.il/blogs/shair/image_thumb_000CE355.png" width="756" height="436" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.microsoft.co.il/files/folders/1097291/download.aspx" target="_blank"&gt;Download Demo Project&lt;/a&gt;&lt;/p&gt;  &lt;h2&gt;&lt;strong&gt;Step 1: Create Project and Add Reference&lt;/strong&gt;&lt;/h2&gt;  &lt;p&gt;Create an WPF application and add the following references:&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;First add reference for:&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Microsoft.TeamFoundation.Build.Client (11.0.0.0) &lt;/li&gt;    &lt;li&gt;Microsoft.TeamFoundation.Build.Common.dll&amp;#160; (11.0.0.0) &lt;/li&gt;    &lt;li&gt;System.Windows.Forms.dll &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;(C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\ReferenceAssemblies\v2.0\)&lt;/p&gt;  &lt;h2&gt;Step 2: Connect and Get Teams Settings&lt;/h2&gt;  &lt;p&gt;In the previous posts we used &lt;span&gt;&lt;font color="#2b91af"&gt;TfsTeamService &lt;/font&gt;&lt;font color="#000000"&gt;to get all teams under the Team Project. another way is to use the &lt;span&gt;&lt;font color="#2b91af"&gt;TeamSettingsConfigurationService.&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span&gt;&lt;span&gt;&lt;font color="#2b91af"&gt;The TeamSettingsConfigurationService has two methods:&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;GetTeamConfigurationsForUser &lt;/li&gt;    &lt;li&gt;SetTeamSettings &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;We’ll use the &lt;strong&gt;GetTeamConfigurationsForUser&lt;/strong&gt; passing the Project Uri, this will return all Teams under that project.&lt;/p&gt;  &lt;div class="code" style="background:white;"&gt;   &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;span&gt;&lt;font color="#0000ff"&gt;&lt;font style="font-size:10pt;"&gt;private&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font style="font-size:10pt;"&gt; &lt;span&gt;&lt;font color="#0000ff"&gt;void&lt;/font&gt;&lt;/span&gt; btnConnect_Click(&lt;span&gt;&lt;font color="#0000ff"&gt;object&lt;/font&gt;&lt;/span&gt; sender, &lt;span&gt;&lt;font color="#2b91af"&gt;RoutedEventArgs&lt;/font&gt;&lt;/span&gt; e)&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;{&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span&gt;&lt;font color="#0000ff"&gt;var&lt;/font&gt;&lt;/span&gt; tpp = &lt;span&gt;&lt;font color="#0000ff"&gt;new&lt;/font&gt;&lt;/span&gt; &lt;span&gt;&lt;font color="#2b91af"&gt;TeamProjectPicker&lt;/font&gt;&lt;/span&gt;(&lt;span&gt;&lt;font color="#2b91af"&gt;TeamProjectPickerMode&lt;/font&gt;&lt;/span&gt;.SingleProject, &lt;span&gt;&lt;font color="#0000ff"&gt;false&lt;/font&gt;&lt;/span&gt;);&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160; tpp.ShowDialog();&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span&gt;&lt;font color="#0000ff"&gt;if&lt;/font&gt;&lt;/span&gt; (tpp.SelectedTeamProjectCollection == &lt;span&gt;&lt;font color="#0000ff"&gt;null&lt;/font&gt;&lt;/span&gt;) &lt;span&gt;&lt;font color="#0000ff"&gt;return&lt;/font&gt;&lt;/span&gt;;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160; tfs = tpp.SelectedTeamProjectCollection;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160; projectInfo = tpp.SelectedProjects[0];&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160; teamConfig = tfs.GetService&amp;lt;&lt;span&gt;&lt;font color="#2b91af"&gt;TeamSettingsConfigurationService&lt;/font&gt;&lt;/span&gt;&amp;gt;();&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160; GetTeams();&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;}&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;span&gt;&lt;font color="#0000ff"&gt;&lt;font style="font-size:10pt;"&gt;void&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font style="font-size:10pt;"&gt; GetTeams()&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;{&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span&gt;&lt;font color="#0000ff"&gt;var&lt;/font&gt;&lt;/span&gt; configs = teamConfig.GetTeamConfigurationsForUser(&lt;span&gt;&lt;font color="#0000ff"&gt;new&lt;/font&gt;&lt;/span&gt;[] { projectInfo.Uri });&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160; listTeams.ItemsSource = configs;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;}&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;/div&gt;  &lt;h2&gt;Step 3: Get Team Settings&lt;/h2&gt;  &lt;p&gt;Now when you select a Team from the Teams list we’ll use the &lt;strong&gt;TeamSettings&lt;/strong&gt; object to pull the Areas + Iterations for that Team. You will also have the BacklogIterationPath and CurrentiterationPath properties (as we talked above).&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.microsoft.co.il/blogs/shair/image_63434872.png"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;margin:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="image" src="http://blogs.microsoft.co.il/blogs/shair/image_thumb_07882CF5.png" width="803" height="177" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;div class="code" style="background:white;"&gt;   &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;span&gt;&lt;font color="#0000ff"&gt;&lt;font style="font-size:10pt;"&gt;private&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font style="font-size:10pt;"&gt; &lt;span&gt;&lt;font color="#0000ff"&gt;void&lt;/font&gt;&lt;/span&gt; listTeams_SelectionChanged(&lt;span&gt;&lt;font color="#0000ff"&gt;object&lt;/font&gt;&lt;/span&gt; sender, &lt;span&gt;&lt;font color="#2b91af"&gt;SelectionChangedEventArgs&lt;/font&gt;&lt;/span&gt; e)&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;{&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span&gt;&lt;font color="#0000ff"&gt;if&lt;/font&gt;&lt;/span&gt; (listTeams.SelectedItem == &lt;span&gt;&lt;font color="#0000ff"&gt;null&lt;/font&gt;&lt;/span&gt;) &lt;span&gt;&lt;font color="#0000ff"&gt;return&lt;/font&gt;&lt;/span&gt;;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span&gt;&lt;font color="#0000ff"&gt;var&lt;/font&gt;&lt;/span&gt; teamConfig = listTeams.SelectedItem &lt;span&gt;&lt;font color="#0000ff"&gt;as&lt;/font&gt;&lt;/span&gt; &lt;span&gt;&lt;font color="#2b91af"&gt;TeamConfiguration&lt;/font&gt;&lt;/span&gt;;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160; txtBacklogIteration.Text = teamConfig.TeamSettings.BacklogIterationPath;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160; txtCurrentIteration.Text = teamConfig.TeamSettings.CurrentIterationPath;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160; listIterations.ItemsSource = teamConfig.TeamSettings.IterationPaths;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160; listAreas.ItemsSource = teamConfig.TeamSettings.TeamFieldValues;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;}&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;/div&gt;  &lt;p&gt;&lt;a href="http://blogs.microsoft.co.il/blogs/shair/image_1747C1F9.png"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;margin:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="image" src="http://blogs.microsoft.co.il/blogs/shair/image_thumb_5B3B8043.png" width="756" height="436" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.microsoft.co.il/files/folders/1097291/download.aspx" target="_blank"&gt;Download Demo Project&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Enjoy&lt;/p&gt;&lt;img src="http://blogs.microsoft.co.il/aggbug.aspx?PostID=1100367" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/ShaiRaiten/~4/LE1-fNr5Xro" height="1" width="1"/&gt;</description><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/.NET/default.aspx">.NET</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/TFS/default.aspx">TFS</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/TFS+Administration/default.aspx">TFS Administration</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/Development/default.aspx">Development</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/TECH/default.aspx">TECH</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/DEV/default.aspx">DEV</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/TFS+API/default.aspx">TFS API</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/TFS+11/default.aspx">TFS 11</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/.NET+4.5/default.aspx">.NET 4.5</category><feedburner:origLink>http://blogs.microsoft.co.il/blogs/shair/archive/2012/05/23/tfs-api-part-46-vs11-team-settings.aspx</feedburner:origLink></item><item><title>Windows 8 C# – Capture Media</title><link>http://feedproxy.google.com/~r/ShaiRaiten/~3/dCNQSCLKFDM/windows-8-c-capture-media.aspx</link><pubDate>Tue, 22 May 2012 04:51:00 GMT</pubDate><guid isPermaLink="false">b5c4f5bc-c09b-4439-a595-91a98c1847df:1099184</guid><dc:creator>shair</dc:creator><slash:comments>4</slash:comments><wfw:commentRss>http://blogs.microsoft.co.il/blogs/shair/rsscomments.aspx?PostID=1099184</wfw:commentRss><comments>http://blogs.microsoft.co.il/blogs/shair/archive/2012/05/22/windows-8-c-capture-media.aspx#comments</comments><description>&lt;div class="share-buttons"&gt;
&lt;div style="TEXT-ALIGN:left;LINE-HEIGHT:1em;PADDING-RIGHT:15px;FONT-FAMILY:Arial, Helvetica, sans-serif;FLOAT:left;FONT-SIZE:14px;"&gt;&lt;a class="twitter-share-button" href="http://blogs.microsoft.co.il/blogs/shair/archive/2012/05/22/windows-8-c-capture-media.aspx"&gt;Tweet&lt;/a&gt;&lt;/div&gt;
&lt;div style="TEXT-ALIGN:left;LINE-HEIGHT:1em;PADDING-RIGHT:25px;FONT-FAMILY:Arial, Helvetica, sans-serif;FLOAT:left;FONT-SIZE:14px;"&gt;
&lt;script type="IN/Share"&gt;&lt;/script&gt;
&lt;/div&gt;
&lt;div style="TEXT-ALIGN:left;LINE-HEIGHT:1em;FONT-FAMILY:Arial, Helvetica, sans-serif;FLOAT:left;FONT-SIZE:14px;"&gt;&lt;iframe style="BORDER-BOTTOM:medium none;BORDER-LEFT:medium none;WIDTH:100px;HEIGHT:21px;OVERFLOW:hidden;BORDER-TOP:medium none;BORDER-RIGHT:medium none;" src="http://www.facebook.com/plugins/like.php?href=http://blogs.microsoft.co.il/blogs/shair/archive/2012/05/22/windows-8-c-capture-media.aspx&amp;amp;send=false&amp;amp;layout=button_count&amp;amp;width=450&amp;amp;show_faces=false&amp;amp;action=like&amp;amp;colorscheme=light&amp;amp;font=segoe+ui&amp;amp;height=21&amp;amp;appId=184186808308137" frameborder="0"&gt;&lt;/iframe&gt;&lt;/div&gt;
&lt;div style="TEXT-ALIGN:left;LINE-HEIGHT:1em;FONT-FAMILY:Arial, Helvetica, sans-serif;FLOAT:left;FONT-SIZE:14px;"&gt;
&lt;div class="g-plusone"&gt;&lt;/div&gt;&lt;/div&gt;
&lt;div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;
&lt;p&gt;I left JavaScript and started to work on Windows 8 Metro using C# and XAML, in this post I’ll demonstrate how to use WinRT for Camera, File Picker and Audio Recording.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.microsoft.co.il/blogs/shair/image_281DC9E5.png"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="image" src="http://blogs.microsoft.co.il/blogs/shair/image_thumb_26C90B39.png" width="744" height="420" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.microsoft.co.il/files/folders/1097568/download.aspx" target="_blank"&gt;Download Demo Project&lt;/a&gt;&lt;/p&gt;  &lt;h3&gt;Step 1: Create Blank Metro Project and Initialize MediaCapture&lt;/h3&gt;  &lt;p&gt;Taking pictures using Camera or File Picker is pretty easy using WinRT, we going to use the MediaCapture class for Audio Recording, CameraCaptureUI for taking Picture from the built in Camera and FileOpenPicker for choosing pictures from local directories.&lt;/p&gt;  &lt;p&gt;The MediaCapture class will allow us to capture:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Video &lt;/li&gt;    &lt;li&gt;Media &lt;/li&gt;    &lt;li&gt;Audio &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;But first we need to create our project resources and define the Application Capabilities to allow us using those features.&lt;/p&gt;  &lt;p&gt;Open &lt;strong&gt;Package.appmanifest&lt;/strong&gt; file located under the project and select the following:     &lt;br /&gt;Each of the below selections gives the application the needed permissions to work with those features.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.microsoft.co.il/blogs/shair/image_2F1CBAC3.png"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="image" src="http://blogs.microsoft.co.il/blogs/shair/image_thumb_58B085F6.png" width="257" height="494" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;div class="code"&gt;   &lt;p style="background:white;margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;span&gt;&lt;font color="#2b91af"&gt;&lt;font style="font-size:10pt;"&gt;MediaCapture&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font style="font-size:10pt;"&gt; mediaCaptureMgr;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="background:white;margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;span&gt;&lt;font color="#2b91af"&gt;&lt;font style="font-size:10pt;"&gt;StorageFile&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font style="font-size:10pt;"&gt; recordStorageFile;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="background:white;margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;span&gt;&lt;font color="#0000ff"&gt;&lt;font style="font-size:10pt;"&gt;bool&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font style="font-size:10pt;"&gt; recording;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="background:white;margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;span&gt;&lt;font color="#2b91af"&gt;&lt;font style="font-size:10pt;"&gt;DeviceInformationCollection&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font style="font-size:10pt;"&gt; devInfoCollection;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="background:white;margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="background:white;margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;span&gt;&lt;font color="#0000ff"&gt;&lt;font style="font-size:10pt;"&gt;public&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font style="font-size:10pt;"&gt; BlankPage()&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="background:white;margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;{&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="background:white;margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span&gt;&lt;font color="#0000ff"&gt;this&lt;/font&gt;&lt;/span&gt;.InitializeComponent();&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="background:white;margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160; mediaCaptureMgr = &lt;span&gt;&lt;font color="#0000ff"&gt;new&lt;/font&gt;&lt;/span&gt; &lt;span&gt;&lt;font color="#2b91af"&gt;MediaCapture&lt;/font&gt;&lt;/span&gt;();&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="background:white;margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;}&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="background:white;margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="background:white;margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;span&gt;&lt;font color="#808080"&gt;&lt;font style="font-size:10pt;"&gt;///&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font style="font-size:10pt;"&gt;&lt;span&gt;&lt;font color="#008000"&gt; &lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;span&gt;&lt;font style="font-size:10pt;" color="#808080"&gt;&amp;lt;summary&amp;gt;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="background:white;margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;span&gt;&lt;font color="#808080"&gt;&lt;font style="font-size:10pt;"&gt;///&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;span&gt;&lt;font style="font-size:10pt;" color="#008000"&gt; Invoked when this page is about to be displayed in a Frame.&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="background:white;margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;span&gt;&lt;font color="#808080"&gt;&lt;font style="font-size:10pt;"&gt;///&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font style="font-size:10pt;"&gt;&lt;span&gt;&lt;font color="#008000"&gt; &lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;span&gt;&lt;font style="font-size:10pt;" color="#808080"&gt;&amp;lt;/summary&amp;gt;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="background:white;margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;span&gt;&lt;font color="#808080"&gt;&lt;font style="font-size:10pt;"&gt;///&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font style="font-size:10pt;"&gt;&lt;span&gt;&lt;font color="#008000"&gt; &lt;/font&gt;&lt;/span&gt;&lt;span&gt;&lt;font color="#808080"&gt;&amp;lt;param name=&amp;quot;e&amp;quot;&amp;gt;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;span&gt;&lt;font style="font-size:10pt;" color="#008000"&gt;Event data that describes how this page was reached.&amp;#160; The Parameter&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="background:white;margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;span&gt;&lt;font color="#808080"&gt;&lt;font style="font-size:10pt;"&gt;///&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font style="font-size:10pt;"&gt;&lt;span&gt;&lt;font color="#008000"&gt; property is typically used to configure the page.&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;span&gt;&lt;font style="font-size:10pt;" color="#808080"&gt;&amp;lt;/param&amp;gt;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="background:white;margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;span&gt;&lt;font color="#0000ff"&gt;&lt;font style="font-size:10pt;"&gt;protected&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font style="font-size:10pt;"&gt; &lt;span&gt;&lt;font color="#0000ff"&gt;async&lt;/font&gt;&lt;/span&gt; &lt;span&gt;&lt;font color="#0000ff"&gt;override&lt;/font&gt;&lt;/span&gt; &lt;span&gt;&lt;font color="#0000ff"&gt;void&lt;/font&gt;&lt;/span&gt; OnNavigatedTo(&lt;span&gt;&lt;font color="#2b91af"&gt;NavigationEventArgs&lt;/font&gt;&lt;/span&gt; e)&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="background:white;margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;{&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="background:white;margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160; EnumerateWebcamsAsync();&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="background:white;margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="background:white;margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span&gt;&lt;font color="#0000ff"&gt;var&lt;/font&gt;&lt;/span&gt; settings = &lt;span&gt;&lt;font color="#0000ff"&gt;new&lt;/font&gt;&lt;/span&gt; &lt;span&gt;&lt;font color="#2b91af"&gt;MediaCaptureInitializationSettings&lt;/font&gt;&lt;/span&gt;();&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="background:white;margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160; settings.StreamingCaptureMode = &lt;span&gt;&lt;font color="#2b91af"&gt;StreamingCaptureMode&lt;/font&gt;&lt;/span&gt;.Audio;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="background:white;margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span&gt;&lt;font color="#0000ff"&gt;await&lt;/font&gt;&lt;/span&gt; mediaCaptureMgr.InitializeAsync(settings);&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="background:white;margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;}&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;/div&gt;  &lt;h3&gt;Step 2: EnumerateWebcamsAsync&lt;/h3&gt;  &lt;p&gt;The code below using &lt;strong&gt;&lt;span&gt;&lt;font color="#2b91af"&gt;DeviceInformation&lt;/font&gt;&lt;/span&gt;.FindAllAsync &lt;/strong&gt;method to get all media devices on your machine, you can also use this to get specific devices such as AudioCapture, AudioRender, PortableStorageDevice or VideoCapture.&lt;/p&gt;  &lt;p&gt;Then we just add the name of each device found to a listbox.&lt;/p&gt;  &lt;div class="code" style="background:white;"&gt;   &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;span&gt;&lt;font color="#0000ff"&gt;&lt;font style="font-size:10pt;"&gt;async&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font style="font-size:10pt;"&gt; &lt;span&gt;&lt;font color="#0000ff"&gt;void&lt;/font&gt;&lt;/span&gt; EnumerateWebcamsAsync()&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;{&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;span&gt;&lt;font style="font-size:10pt;" color="#0000ff"&gt;try&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160; {&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; devInfoCollection = &lt;span&gt;&lt;font color="#0000ff"&gt;null&lt;/font&gt;&lt;/span&gt;;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; EnumedDeviceList.Items.Clear();&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; devInfoCollection = &lt;span&gt;&lt;font color="#0000ff"&gt;await&lt;/font&gt;&lt;/span&gt; &lt;span&gt;&lt;font color="#2b91af"&gt;DeviceInformation&lt;/font&gt;&lt;/span&gt;.FindAllAsync(&lt;span&gt;&lt;font color="#2b91af"&gt;DeviceClass&lt;/font&gt;&lt;/span&gt;.All);&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span&gt;&lt;font color="#0000ff"&gt;if&lt;/font&gt;&lt;/span&gt; (devInfoCollection == &lt;span&gt;&lt;font color="#0000ff"&gt;null&lt;/font&gt;&lt;/span&gt; || devInfoCollection.Count == 0)&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span&gt;&lt;font color="#0000ff"&gt;await&lt;/font&gt;&lt;/span&gt; &lt;span&gt;&lt;font color="#0000ff"&gt;new&lt;/font&gt;&lt;/span&gt; Windows.UI.Popups.&lt;span&gt;&lt;font color="#2b91af"&gt;MessageDialog&lt;/font&gt;&lt;/span&gt;(&lt;span&gt;&lt;font color="#800000"&gt;&amp;quot;No WebCams found.&amp;quot;&lt;/font&gt;&lt;/span&gt;).ShowAsync();&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;span&gt;&lt;font style="font-size:10pt;" color="#0000ff"&gt;else&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span&gt;&lt;font color="#0000ff"&gt;for&lt;/font&gt;&lt;/span&gt; (&lt;span&gt;&lt;font color="#0000ff"&gt;int&lt;/font&gt;&lt;/span&gt; i = 0; i &amp;lt; devInfoCollection.Count; i++)&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span&gt;&lt;font color="#0000ff"&gt;var&lt;/font&gt;&lt;/span&gt; devInfo = devInfoCollection.ElementAt(i);&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; EnumedDeviceList.Items.Add(devInfo.Name);&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; EnumedDeviceList.SelectedIndex = 0;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160; }&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span&gt;&lt;font color="#0000ff"&gt;catch&lt;/font&gt;&lt;/span&gt; (&lt;span&gt;&lt;font color="#2b91af"&gt;Exception&lt;/font&gt;&lt;/span&gt; e)&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160; {&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span&gt;&lt;font color="#0000ff"&gt;new&lt;/font&gt;&lt;/span&gt; Windows.UI.Popups.&lt;span&gt;&lt;font color="#2b91af"&gt;MessageDialog&lt;/font&gt;&lt;/span&gt;(e.Message).ShowAsync();&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160; }&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;}&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;/div&gt;  &lt;h3&gt;Step 3: File Picker&lt;/h3&gt;  &lt;p&gt;File Picker is part of WinRT, allowing the user to choose files from local directories.&lt;/p&gt;  &lt;p&gt;In the code below we define new class of FileOpenPicker and set several options:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;ViewMode&lt;/strong&gt; - Thumbnail or List &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;SuggestedStartLocation – &lt;/strong&gt;Start Location &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;FileTypeFilter – &lt;/strong&gt;Supported file types &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Finally we call the PickMultipleFilesAsync to open the file picker and allowing the user to select multiple images. (You can also use PickSingleFileAsync for single image selection)&lt;/p&gt;  &lt;p&gt;When the user click select the desire images and click the OK button we get a IReadOnlyList of StorageFile, in order to show them on the screen we can get the stream from each item our we can copy those file to our local storage and then use the “ms-appdata:///Local/FileName” path to display those images from our local storage folder.&lt;/p&gt;  &lt;div class="code"&gt;   &lt;p style="background:white;margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;span&gt;&lt;font color="#0000ff"&gt;&lt;font style="font-size:10pt;"&gt;private&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font style="font-size:10pt;"&gt; &lt;span&gt;&lt;font color="#0000ff"&gt;async&lt;/font&gt;&lt;/span&gt; &lt;span&gt;&lt;font color="#0000ff"&gt;void&lt;/font&gt;&lt;/span&gt; btnFilePicker_Click(&lt;span&gt;&lt;font color="#0000ff"&gt;object&lt;/font&gt;&lt;/span&gt; sender, &lt;span&gt;&lt;font color="#2b91af"&gt;RoutedEventArgs&lt;/font&gt;&lt;/span&gt; e)&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="background:white;margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;{&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="background:white;margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span&gt;&lt;font color="#2b91af"&gt;FileOpenPicker&lt;/font&gt;&lt;/span&gt; openPicker = &lt;span&gt;&lt;font color="#0000ff"&gt;new&lt;/font&gt;&lt;/span&gt; &lt;span&gt;&lt;font color="#2b91af"&gt;FileOpenPicker&lt;/font&gt;&lt;/span&gt;();&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="background:white;margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160; openPicker.ViewMode = &lt;span&gt;&lt;font color="#2b91af"&gt;PickerViewMode&lt;/font&gt;&lt;/span&gt;.Thumbnail;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="background:white;margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160; openPicker.SuggestedStartLocation = &lt;span&gt;&lt;font color="#2b91af"&gt;PickerLocationId&lt;/font&gt;&lt;/span&gt;.PicturesLibrary;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="background:white;margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160; openPicker.FileTypeFilter.Add(&lt;span&gt;&lt;font color="#800000"&gt;&amp;quot;.jpg&amp;quot;&lt;/font&gt;&lt;/span&gt;);&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="background:white;margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160; openPicker.FileTypeFilter.Add(&lt;span&gt;&lt;font color="#800000"&gt;&amp;quot;.jpeg&amp;quot;&lt;/font&gt;&lt;/span&gt;);&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="background:white;margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160; openPicker.FileTypeFilter.Add(&lt;span&gt;&lt;font color="#800000"&gt;&amp;quot;.png&amp;quot;&lt;/font&gt;&lt;/span&gt;);&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="background:white;margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span&gt;&lt;font color="#2b91af"&gt;IReadOnlyList&lt;/font&gt;&lt;/span&gt;&amp;lt;&lt;span&gt;&lt;font color="#2b91af"&gt;StorageFile&lt;/font&gt;&lt;/span&gt;&amp;gt; files = &lt;span&gt;&lt;font color="#0000ff"&gt;await&lt;/font&gt;&lt;/span&gt; openPicker.PickMultipleFilesAsync(); &lt;/font&gt;&lt;span&gt;&lt;font style="font-size:10pt;" color="#008000"&gt;//PickSingleFileAsync&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="background:white;margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span&gt;&lt;font color="#0000ff"&gt;if&lt;/font&gt;&lt;/span&gt; (files.Count == 0)&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="background:white;margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160; {&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="background:white;margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span&gt;&lt;font color="#0000ff"&gt;await&lt;/font&gt;&lt;/span&gt; &lt;span&gt;&lt;font color="#0000ff"&gt;new&lt;/font&gt;&lt;/span&gt; Windows.UI.Popups.&lt;span&gt;&lt;font color="#2b91af"&gt;MessageDialog&lt;/font&gt;&lt;/span&gt;(&lt;span&gt;&lt;font color="#800000"&gt;&amp;quot;No files were seleced!&amp;quot;&lt;/font&gt;&lt;/span&gt;).ShowAsync();&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="background:white;margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span&gt;&lt;font color="#0000ff"&gt;return&lt;/font&gt;&lt;/span&gt;;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="background:white;margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160; }&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="background:white;margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="background:white;margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span&gt;&lt;font color="#0000ff"&gt;var&lt;/font&gt;&lt;/span&gt; storage = Windows.Storage.&lt;span&gt;&lt;font color="#2b91af"&gt;ApplicationData&lt;/font&gt;&lt;/span&gt;.Current.LocalFolder;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="background:white;margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span&gt;&lt;font color="#0000ff"&gt;foreach&lt;/font&gt;&lt;/span&gt; (&lt;span&gt;&lt;font color="#0000ff"&gt;var&lt;/font&gt;&lt;/span&gt; file &lt;span&gt;&lt;font color="#0000ff"&gt;in&lt;/font&gt;&lt;/span&gt; files)&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="background:white;margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160; {&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="background:white;margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span&gt;&lt;font color="#0000ff"&gt;var&lt;/font&gt;&lt;/span&gt; copiedFile = &lt;span&gt;&lt;font color="#0000ff"&gt;await&lt;/font&gt;&lt;/span&gt; file.CopyAsync(storage, file.Name, &lt;span&gt;&lt;font color="#2b91af"&gt;NameCollisionOption&lt;/font&gt;&lt;/span&gt;.GenerateUniqueName);&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="background:white;margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; listImages.Items.Add(&lt;span&gt;&lt;font color="#0000ff"&gt;string&lt;/font&gt;&lt;/span&gt;.Format(&lt;span&gt;&lt;font color="#800000"&gt;&amp;quot;ms-appdata:///Local/{0}&amp;quot;&lt;/font&gt;&lt;/span&gt;, copiedFile.Name));&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="background:white;margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160; }&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="background:white;margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;}&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;/div&gt;  &lt;h3&gt;Step 4: Camera Capture&lt;/h3&gt;  &lt;p&gt;Now it’s time to capture a image from the built in Camera, to do so we’ll use the &lt;span&gt;&lt;font color="#2b91af"&gt;CameraCaptureUI, &lt;/font&gt;&lt;font color="#000000"&gt;simply define what type of image you want to receive by defining the Format, size etc.. &lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span&gt;&lt;font color="#000000"&gt;After the user close the Camera dialog we check if the return file isn’t null and if it doesn&amp;#39;t we use OpenAsyc method to get the file stream and then using that stream we’ll create a new BitmapImage from that stream and assign it to the ImgCamera.&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;div class="code" style="background:white;"&gt;   &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;span&gt;&lt;font color="#0000ff"&gt;&lt;font style="font-size:10pt;"&gt;private&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font style="font-size:10pt;"&gt; &lt;span&gt;&lt;font color="#0000ff"&gt;async&lt;/font&gt;&lt;/span&gt; &lt;span&gt;&lt;font color="#0000ff"&gt;void&lt;/font&gt;&lt;/span&gt; btnCamera_Click(&lt;span&gt;&lt;font color="#0000ff"&gt;object&lt;/font&gt;&lt;/span&gt; sender, &lt;span&gt;&lt;font color="#2b91af"&gt;RoutedEventArgs&lt;/font&gt;&lt;/span&gt; e)&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;{&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;span&gt;&lt;font style="font-size:10pt;" color="#0000ff"&gt;try&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160; {&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span&gt;&lt;font color="#2b91af"&gt;CameraCaptureUI&lt;/font&gt;&lt;/span&gt; dialog = &lt;span&gt;&lt;font color="#0000ff"&gt;new&lt;/font&gt;&lt;/span&gt; &lt;span&gt;&lt;font color="#2b91af"&gt;CameraCaptureUI&lt;/font&gt;&lt;/span&gt;();&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span&gt;&lt;font color="#2b91af"&gt;Size&lt;/font&gt;&lt;/span&gt; aspectRatio = &lt;span&gt;&lt;font color="#0000ff"&gt;new&lt;/font&gt;&lt;/span&gt; &lt;span&gt;&lt;font color="#2b91af"&gt;Size&lt;/font&gt;&lt;/span&gt;(16, 9);&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; dialog.PhotoSettings.CroppedAspectRatio = aspectRatio;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; dialog.PhotoSettings.Format = &lt;span&gt;&lt;font color="#2b91af"&gt;CameraCaptureUIPhotoFormat&lt;/font&gt;&lt;/span&gt;.Png;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span&gt;&lt;font color="#2b91af"&gt;StorageFile&lt;/font&gt;&lt;/span&gt; file = &lt;span&gt;&lt;font color="#0000ff"&gt;await&lt;/font&gt;&lt;/span&gt; dialog.CaptureFileAsync(&lt;span&gt;&lt;font color="#2b91af"&gt;CameraCaptureUIMode&lt;/font&gt;&lt;/span&gt;.Photo);&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span&gt;&lt;font color="#0000ff"&gt;if&lt;/font&gt;&lt;/span&gt; (file != &lt;span&gt;&lt;font color="#0000ff"&gt;null&lt;/font&gt;&lt;/span&gt;)&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span&gt;&lt;font color="#0000ff"&gt;var&lt;/font&gt;&lt;/span&gt; stream = &lt;span&gt;&lt;font color="#0000ff"&gt;await&lt;/font&gt;&lt;/span&gt; file.OpenAsync(Windows.Storage.&lt;span&gt;&lt;font color="#2b91af"&gt;FileAccessMode&lt;/font&gt;&lt;/span&gt;.Read);&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span&gt;&lt;font color="#0000ff"&gt;var&lt;/font&gt;&lt;/span&gt; bmpimg = &lt;span&gt;&lt;font color="#0000ff"&gt;new&lt;/font&gt;&lt;/span&gt; &lt;span&gt;&lt;font color="#2b91af"&gt;BitmapImage&lt;/font&gt;&lt;/span&gt;();&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; bmpimg.SetSource(stream);&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ImgCamera.Source = bmpimg;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; stream.Dispose();&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160; }&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span&gt;&lt;font color="#0000ff"&gt;catch&lt;/font&gt;&lt;/span&gt; (&lt;span&gt;&lt;font color="#2b91af"&gt;Exception&lt;/font&gt;&lt;/span&gt; ex)&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160; {&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span&gt;&lt;font color="#0000ff"&gt;new&lt;/font&gt;&lt;/span&gt; Windows.UI.Popups.&lt;span&gt;&lt;font color="#2b91af"&gt;MessageDialog&lt;/font&gt;&lt;/span&gt;(ex.Message).ShowAsync();&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160; }&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;}&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;/div&gt;  &lt;h3&gt;Step 5: Audio Recording&lt;/h3&gt;  &lt;p&gt;No for the last part of application, Recording Audio, first we’ll create a StorageFile inside the Music Library, we’ll set the recording profile to create an M4a file type and just calling the &lt;strong&gt;StartRecordToStorageFileAsync &lt;/strong&gt;method of the &lt;span&gt;&lt;font color="#2b91af"&gt;MediaCapture&lt;/font&gt;&lt;font color="#000000"&gt; class passing the storageFile and the recording profile.&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span&gt;&lt;font color="#000000"&gt;After the user click the stop button we call the &lt;strong&gt;StopRecordAsync&lt;/strong&gt; method, this will stop the recording and same as we did for the Camera, we open the file stream and assign the stream to the MediaPlayer source.&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;div class="code" style="background:white;"&gt;   &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;span&gt;&lt;font color="#0000ff"&gt;&lt;font style="font-size:10pt;"&gt;private&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font style="font-size:10pt;"&gt; &lt;span&gt;&lt;font color="#0000ff"&gt;async&lt;/font&gt;&lt;/span&gt; &lt;span&gt;&lt;font color="#0000ff"&gt;void&lt;/font&gt;&lt;/span&gt; btnAudio_Click(&lt;span&gt;&lt;font color="#0000ff"&gt;object&lt;/font&gt;&lt;/span&gt; sender, &lt;span&gt;&lt;font color="#2b91af"&gt;RoutedEventArgs&lt;/font&gt;&lt;/span&gt; e)&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;{&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;span&gt;&lt;font style="font-size:10pt;" color="#0000ff"&gt;try&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160; {&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span&gt;&lt;font color="#2b91af"&gt;String&lt;/font&gt;&lt;/span&gt; fileName = &lt;span&gt;&lt;font color="#800000"&gt;&amp;quot;AudioRecording.m4a&amp;quot;&lt;/font&gt;&lt;/span&gt;;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span&gt;&lt;font color="#0000ff"&gt;if&lt;/font&gt;&lt;/span&gt; (!recording)&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {&lt;/font&gt;&lt;/font&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; recordStorageFile = &lt;span&gt;&lt;font color="#0000ff"&gt;await&lt;/font&gt;&lt;/span&gt; Windows.Storage.&lt;span&gt;&lt;font color="#2b91af"&gt;KnownFolders&lt;/font&gt;&lt;/span&gt;.MusicLibrary.CreateFileAsync(fileName);&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Windows.Media.MediaProperties.&lt;span&gt;&lt;font color="#2b91af"&gt;MediaEncodingProfile&lt;/font&gt;&lt;/span&gt; recordProfile = &lt;span&gt;&lt;font color="#0000ff"&gt;null&lt;/font&gt;&lt;/span&gt;;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; recordProfile = Windows.Media.MediaProperties.&lt;span&gt;&lt;font color="#2b91af"&gt;MediaEncodingProfile&lt;/font&gt;&lt;/span&gt;.CreateM4a(Windows.Media.MediaProperties.&lt;span&gt;&lt;font color="#2b91af"&gt;AudioEncodingQuality&lt;/font&gt;&lt;/span&gt;.Auto);&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; recording = &lt;span&gt;&lt;font color="#0000ff"&gt;true&lt;/font&gt;&lt;/span&gt;;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; btnAudio.Content = &lt;span&gt;&lt;font color="#800000"&gt;&amp;quot;Stop Recording&amp;quot;&lt;/font&gt;&lt;/span&gt;;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span&gt;&lt;font color="#0000ff"&gt;await&lt;/font&gt;&lt;/span&gt; mediaCaptureMgr.StartRecordToStorageFileAsync(recordProfile, recordStorageFile);&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;span&gt;&lt;font style="font-size:10pt;" color="#0000ff"&gt;else&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span&gt;&lt;font color="#0000ff"&gt;await&lt;/font&gt;&lt;/span&gt; mediaCaptureMgr.StopRecordAsync();&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; btnAudio.Content = &lt;span&gt;&lt;font color="#800000"&gt;&amp;quot;Start Recording&amp;quot;&lt;/font&gt;&lt;/span&gt;;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span&gt;&lt;font color="#0000ff"&gt;var&lt;/font&gt;&lt;/span&gt; stream = &lt;span&gt;&lt;font color="#0000ff"&gt;await&lt;/font&gt;&lt;/span&gt; recordStorageFile.OpenAsync(Windows.Storage.&lt;span&gt;&lt;font color="#2b91af"&gt;FileAccessMode&lt;/font&gt;&lt;/span&gt;.Read);&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; playbackElement.AutoPlay = &lt;span&gt;&lt;font color="#0000ff"&gt;true&lt;/font&gt;&lt;/span&gt;;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; playbackElement.SetSource(stream, recordStorageFile.FileType);&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; playbackElement.Play();&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; recording = &lt;span&gt;&lt;font color="#0000ff"&gt;false&lt;/font&gt;&lt;/span&gt;;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160; }&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span&gt;&lt;font color="#0000ff"&gt;catch&lt;/font&gt;&lt;/span&gt; (&lt;span&gt;&lt;font color="#2b91af"&gt;Exception&lt;/font&gt;&lt;/span&gt; ex)&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160; {&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; recording = &lt;span&gt;&lt;font color="#0000ff"&gt;false&lt;/font&gt;&lt;/span&gt;;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span&gt;&lt;font color="#0000ff"&gt;new&lt;/font&gt;&lt;/span&gt; Windows.UI.Popups.&lt;span&gt;&lt;font color="#2b91af"&gt;MessageDialog&lt;/font&gt;&lt;/span&gt;(ex.Message).ShowAsync();&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160; }&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;}&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;/div&gt;  &lt;p&gt;&lt;a href="http://blogs.microsoft.co.il/files/folders/1097568/download.aspx" target="_blank"&gt;Download Demo Project&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.microsoft.co.il/aggbug.aspx?PostID=1099184" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/ShaiRaiten/~4/dCNQSCLKFDM" height="1" width="1"/&gt;</description><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/.NET/default.aspx">.NET</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/Development/default.aspx">Development</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/SilverLight/default.aspx">SilverLight</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/DEV/default.aspx">DEV</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/Metro+Style/default.aspx">Metro Style</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/Windows+8/default.aspx">Windows 8</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/.NET+4.5/default.aspx">.NET 4.5</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/Metro/default.aspx">Metro</category><feedburner:origLink>http://blogs.microsoft.co.il/blogs/shair/archive/2012/05/22/windows-8-c-capture-media.aspx</feedburner:origLink></item><item><title>TFS API Part 45 (VS11) – Modify Teams and Team Members</title><link>http://feedproxy.google.com/~r/ShaiRaiten/~3/sv6f9PjXzK8/tfs-api-part-45-vs11-modify-teams-and-team-members.aspx</link><pubDate>Mon, 21 May 2012 05:42:00 GMT</pubDate><guid isPermaLink="false">b5c4f5bc-c09b-4439-a595-91a98c1847df:1098159</guid><dc:creator>shair</dc:creator><slash:comments>1</slash:comments><wfw:commentRss>http://blogs.microsoft.co.il/blogs/shair/rsscomments.aspx?PostID=1098159</wfw:commentRss><comments>http://blogs.microsoft.co.il/blogs/shair/archive/2012/05/21/tfs-api-part-45-vs11-modify-teams-and-team-members.aspx#comments</comments><description>&lt;div class="share-buttons"&gt;
&lt;div style="TEXT-ALIGN:left;LINE-HEIGHT:1em;PADDING-RIGHT:15px;FONT-FAMILY:Arial, Helvetica, sans-serif;FLOAT:left;FONT-SIZE:14px;"&gt;&lt;a class="twitter-share-button" href="http://blogs.microsoft.co.il/blogs/shair/archive/2012/05/21/tfs-api-part-45-vs11-modify-teams-and-team-members.aspx"&gt;Tweet&lt;/a&gt;&lt;/div&gt;
&lt;div style="TEXT-ALIGN:left;LINE-HEIGHT:1em;PADDING-RIGHT:25px;FONT-FAMILY:Arial, Helvetica, sans-serif;FLOAT:left;FONT-SIZE:14px;"&gt;
&lt;script type="IN/Share"&gt;&lt;/script&gt;
&lt;/div&gt;
&lt;div style="TEXT-ALIGN:left;LINE-HEIGHT:1em;FONT-FAMILY:Arial, Helvetica, sans-serif;FLOAT:left;FONT-SIZE:14px;"&gt;&lt;iframe style="BORDER-BOTTOM:medium none;BORDER-LEFT:medium none;WIDTH:100px;HEIGHT:21px;OVERFLOW:hidden;BORDER-TOP:medium none;BORDER-RIGHT:medium none;" src="http://www.facebook.com/plugins/like.php?href=http://blogs.microsoft.co.il/blogs/shair/archive/2012/05/21/tfs-api-part-45-vs11-modify-teams-and-team-members.aspx&amp;amp;send=false&amp;amp;layout=button_count&amp;amp;width=450&amp;amp;show_faces=false&amp;amp;action=like&amp;amp;colorscheme=light&amp;amp;font=segoe+ui&amp;amp;height=21&amp;amp;appId=184186808308137" frameborder="0"&gt;&lt;/iframe&gt;&lt;/div&gt;
&lt;div style="TEXT-ALIGN:left;LINE-HEIGHT:1em;FONT-FAMILY:Arial, Helvetica, sans-serif;FLOAT:left;FONT-SIZE:14px;"&gt;
&lt;div class="g-plusone"&gt;&lt;/div&gt;&lt;/div&gt;
&lt;div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;
&lt;p&gt;In my previous post “&lt;a href="http://blogs.microsoft.co.il/blogs/shair/archive/2012/05/20/tfs-api-part-44-vs11-teams-and-team-members.aspx" target="_blank"&gt;Teams and Team Members&lt;/a&gt;”&amp;#160; I talked about new Service in TFS API called – TfsTeamService. Using this service we can control Teams and Team Members under TFS.&lt;/p&gt;  &lt;p&gt;We can create and remove Teams and Team Members using TFS API. I know this can be quite confusing but Teams in TFS are simply Group (Security Group), same as Contributors, Administrators etc.&lt;/p&gt;  &lt;p&gt;If you open Security tab under TFS Web Management you can see that there is two separate lists of Groups – Teams and TFS Groups, I’ll show how to separate between Teams and Groups.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.microsoft.co.il/blogs/shair/image_46FEC180.png"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="image" src="http://blogs.microsoft.co.il/blogs/shair/image_thumb_12EA222D.png" width="210" height="306" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;In order to add members or remove them from specific Team we need to use the &lt;strong&gt;&lt;u&gt;IGroupSecurityService.&lt;/u&gt;&lt;/strong&gt; You can read more here:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://blogs.microsoft.co.il/blogs/shair/archive/2011/12/07/tfs-api-part-41-manage-groups-and-members.aspx" target="_blank"&gt;TFS API Part 41–Manage Groups and Members&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.microsoft.co.il/blogs/shair/archive/2010/11/24/tfs-api-part-32-add-and-remove-users-from-application-groups.aspx" target="_blank"&gt;TFS API Part 32 – Add and Remove Users From Application Groups&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;The application below will show you two lists: Groups and Teams.    &lt;br /&gt;Then you will be able to Remove the Team or Group and for each you can get the members under it.     &lt;br /&gt;You can also create new Team.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.microsoft.co.il/blogs/shair/image_1A45E1DA.png"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="image" src="http://blogs.microsoft.co.il/blogs/shair/image_thumb_3180C07E.png" width="747" height="481" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.microsoft.co.il/files/folders/shair/entry1097183.aspx" target="_blank"&gt;Download Demo Project&lt;/a&gt;&lt;/p&gt;  &lt;h2&gt;&lt;strong&gt;Step 1: Create Project and Add Reference&lt;/strong&gt;&lt;/h2&gt;  &lt;p&gt;Create an WPF application and add the following references:&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;First add reference for:&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Microsoft.TeamFoundation.Build.Client (11.0.0.0) &lt;/li&gt;    &lt;li&gt;Microsoft.TeamFoundation.Build.Common.dll&amp;#160; (11.0.0.0) &lt;/li&gt;    &lt;li&gt;System.Windows.Forms.dll &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;font size="2"&gt;(C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\ReferenceAssemblies\v2.0\)&lt;/font&gt;&lt;/p&gt;  &lt;h2&gt;Step 2: Connect Team Foundation Server&lt;/h2&gt;  &lt;p&gt;Connect to TFS and obtain the &lt;span&gt;&lt;font color="#2b91af"&gt;TfsTeamService &lt;font color="#000000"&gt;so we get the Team list and we need the &lt;/font&gt;&lt;span&gt;&lt;font color="#2b91af"&gt;&lt;font color="#000000"&gt;&lt;span&gt;&lt;font color="#2b91af"&gt;IGroupSecurityService &lt;/font&gt;&lt;/span&gt;so we can add / remove Members and Groups.&lt;/font&gt;&amp;#160;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;div class="code" style="background:white;"&gt;   &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;span&gt;&lt;font color="#0000ff"&gt;&lt;font style="font-size:10pt;"&gt;private&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font style="font-size:10pt;"&gt; &lt;span&gt;&lt;font color="#0000ff"&gt;void&lt;/font&gt;&lt;/span&gt; btnConnect_Click(&lt;span&gt;&lt;font color="#0000ff"&gt;object&lt;/font&gt;&lt;/span&gt; sender, &lt;span&gt;&lt;font color="#2b91af"&gt;RoutedEventArgs&lt;/font&gt;&lt;/span&gt; e)&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;{&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span&gt;&lt;font color="#0000ff"&gt;var&lt;/font&gt;&lt;/span&gt; tpp = &lt;span&gt;&lt;font color="#0000ff"&gt;new&lt;/font&gt;&lt;/span&gt; &lt;span&gt;&lt;font color="#2b91af"&gt;TeamProjectPicker&lt;/font&gt;&lt;/span&gt;(&lt;span&gt;&lt;font color="#2b91af"&gt;TeamProjectPickerMode&lt;/font&gt;&lt;/span&gt;.SingleProject, &lt;span&gt;&lt;font color="#0000ff"&gt;false&lt;/font&gt;&lt;/span&gt;);&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160; tpp.ShowDialog();&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span&gt;&lt;font color="#0000ff"&gt;if&lt;/font&gt;&lt;/span&gt; (tpp.SelectedTeamProjectCollection == &lt;span&gt;&lt;font color="#0000ff"&gt;null&lt;/font&gt;&lt;/span&gt;) &lt;span&gt;&lt;font color="#0000ff"&gt;return&lt;/font&gt;&lt;/span&gt;;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160; tfs = tpp.SelectedTeamProjectCollection;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160; teamService = tfs.GetService&amp;lt;&lt;span&gt;&lt;font color="#2b91af"&gt;TfsTeamService&lt;/font&gt;&lt;/span&gt;&amp;gt;();&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160; projectInfo = tpp.SelectedProjects[0];&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160; gss = (&lt;span&gt;&lt;font color="#2b91af"&gt;IGroupSecurityService&lt;/font&gt;&lt;/span&gt;)tfs.GetService(&lt;span&gt;&lt;font color="#0000ff"&gt;typeof&lt;/font&gt;&lt;/span&gt;(&lt;span&gt;&lt;font color="#2b91af"&gt;IGroupSecurityService&lt;/font&gt;&lt;/span&gt;));&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160; GetTeams();&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160; GetGroups();&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;}&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;/div&gt;  &lt;p&gt;To get the Teams list you only need to use the &lt;u&gt;TFSTeamService&lt;/u&gt; and call the &lt;strong&gt;QueryTeams&lt;/strong&gt; method.&lt;/p&gt;  &lt;p&gt;For getting the Project Groups we’ll use the &lt;span&gt;&lt;font color="#2b91af"&gt;IGroupSecurityService &lt;font color="#000000"&gt;calling&lt;/font&gt; &lt;font color="#000000"&gt;&lt;strong&gt;ListApplicationGroups&lt;/strong&gt;&lt;/font&gt; &lt;/font&gt;&lt;font color="#000000"&gt;passing the project uri, this will return all groups under that Team Project (also the teams), in order to exclude teams from that list I did a query to verify for each item that his Sig doesn&amp;#39;t exists in the TeamsList.&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;div class="code" style="background:white;"&gt;   &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;span&gt;&lt;font color="#0000ff"&gt;&lt;font style="font-size:10pt;"&gt;void&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font style="font-size:10pt;"&gt; GetTeams()&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;{&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160; _teams = teamService.QueryTeams(projectInfo.Uri).ToList();&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160; listTeams.ItemsSource = _teams;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;}&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;span&gt;&lt;font color="#0000ff"&gt;&lt;font style="font-size:10pt;"&gt;void&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font style="font-size:10pt;"&gt; GetGroups()&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;{&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span&gt;&lt;font color="#2b91af"&gt;Identity&lt;/font&gt;&lt;/span&gt;[] groups = gss.ListApplicationGroups(projectInfo.Uri);&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span&gt;&lt;font color="#0000ff"&gt;var&lt;/font&gt;&lt;/span&gt; query = &lt;span&gt;&lt;font color="#0000ff"&gt;from&lt;/font&gt;&lt;/span&gt; _group &lt;span&gt;&lt;font color="#0000ff"&gt;in&lt;/font&gt;&lt;/span&gt; groups&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span&gt;&lt;font color="#0000ff"&gt;where&lt;/font&gt;&lt;/span&gt; _group.Type == &lt;span&gt;&lt;font color="#2b91af"&gt;IdentityType&lt;/font&gt;&lt;/span&gt;.ApplicationGroup&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;amp;&amp;amp; !_teams.Any(t =&amp;gt; t.Identity.Descriptor.Identifier.Equals(_group.Sid))&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span&gt;&lt;font color="#0000ff"&gt;select&lt;/font&gt;&lt;/span&gt; _group;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160; listGroups.ItemsSource = query;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;}&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;/div&gt;  &lt;h2&gt;Step 3: Add And Remove &lt;/h2&gt;  &lt;p&gt;Now to the easy part, to Create new Team just use the TfsTeamService and use the &lt;strong&gt;CreateTeam &lt;/strong&gt;method.&lt;/p&gt;  &lt;p&gt;Use the &lt;span&gt;&lt;font color="#2b91af"&gt;IGroupSecurityService &lt;/font&gt;&lt;font color="#000000"&gt;to Add members to Team or Group (The Same…) remove team/groups – you can ream more here - &lt;a href="http://blogs.microsoft.co.il/blogs/shair/archive/2011/12/07/tfs-api-part-41-manage-groups-and-members.aspx" target="_blank"&gt;TFS API Part 41–Manage Groups and Members&lt;/a&gt; &lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;div class="code" style="background:white;"&gt;   &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;teamService.CreateTeam(projectInfo.Uri, txtTitle.Text, txtDescription.Text, &lt;span&gt;&lt;font color="#0000ff"&gt;null&lt;/font&gt;&lt;/span&gt;);&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;         &lt;br /&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font size="2" face="Consolas"&gt;&lt;/font&gt;&lt;/p&gt;    &lt;div style="background:white;"&gt;     &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;gss.DeleteApplicationGroup(teamSid);&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;   &lt;/div&gt; &lt;/div&gt;  &lt;p&gt;&lt;span&gt;&lt;font color="#2b91af" size="3"&gt;&lt;strong&gt;&lt;u&gt;TfsTeamService&lt;/u&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;div class="code" style="background:white;"&gt;   &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;span&gt;&lt;font color="#0000ff"&gt;&lt;font style="font-size:10pt;"&gt;namespace&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font style="font-size:10pt;"&gt; Microsoft.TeamFoundation.Client&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;{&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span&gt;&lt;font color="#0000ff"&gt;public&lt;/font&gt;&lt;/span&gt; &lt;span&gt;&lt;font color="#0000ff"&gt;class&lt;/font&gt;&lt;/span&gt; &lt;/font&gt;&lt;span&gt;&lt;font style="font-size:10pt;" color="#2b91af"&gt;TfsTeamService&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160; {&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span&gt;&lt;font color="#0000ff"&gt;public&lt;/font&gt;&lt;/span&gt; TfsTeamService();&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span&gt;&lt;font color="#0000ff"&gt;public&lt;/font&gt;&lt;/span&gt; &lt;span&gt;&lt;font color="#2b91af"&gt;TeamFoundationTeam&lt;/font&gt;&lt;/span&gt; CreateTeam(&lt;span&gt;&lt;font color="#0000ff"&gt;string&lt;/font&gt;&lt;/span&gt; projectId, &lt;span&gt;&lt;font color="#0000ff"&gt;string&lt;/font&gt;&lt;/span&gt; name, &lt;span&gt;&lt;font color="#0000ff"&gt;string&lt;/font&gt;&lt;/span&gt; description, &lt;span&gt;&lt;font color="#2b91af"&gt;IDictionary&lt;/font&gt;&lt;/span&gt;&amp;lt;&lt;span&gt;&lt;font color="#0000ff"&gt;string&lt;/font&gt;&lt;/span&gt;, &lt;span&gt;&lt;font color="#0000ff"&gt;object&lt;/font&gt;&lt;/span&gt;&amp;gt; properties);&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span&gt;&lt;font color="#0000ff"&gt;public&lt;/font&gt;&lt;/span&gt; &lt;span&gt;&lt;font color="#2b91af"&gt;TeamFoundationTeam&lt;/font&gt;&lt;/span&gt; GetDefaultTeam(&lt;span&gt;&lt;font color="#0000ff"&gt;string&lt;/font&gt;&lt;/span&gt; projectUri, &lt;span&gt;&lt;font color="#2b91af"&gt;List&lt;/font&gt;&lt;/span&gt;&amp;lt;&lt;span&gt;&lt;font color="#0000ff"&gt;string&lt;/font&gt;&lt;/span&gt;&amp;gt; propertyNameFilters);&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span&gt;&lt;font color="#0000ff"&gt;public&lt;/font&gt;&lt;/span&gt; &lt;span&gt;&lt;font color="#2b91af"&gt;Guid&lt;/font&gt;&lt;/span&gt; GetDefaultTeamId(&lt;span&gt;&lt;font color="#0000ff"&gt;string&lt;/font&gt;&lt;/span&gt; projectUri);&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span&gt;&lt;font color="#0000ff"&gt;public&lt;/font&gt;&lt;/span&gt; &lt;span&gt;&lt;font color="#0000ff"&gt;void&lt;/font&gt;&lt;/span&gt; Initialize(&lt;span&gt;&lt;font color="#2b91af"&gt;TfsConnection&lt;/font&gt;&lt;/span&gt; tfsConnection);&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span&gt;&lt;font color="#0000ff"&gt;public&lt;/font&gt;&lt;/span&gt; &lt;span&gt;&lt;font color="#2b91af"&gt;IEnumerable&lt;/font&gt;&lt;/span&gt;&amp;lt;&lt;span&gt;&lt;font color="#2b91af"&gt;TeamFoundationTeam&lt;/font&gt;&lt;/span&gt;&amp;gt; QueryTeams(&lt;span&gt;&lt;font color="#2b91af"&gt;IdentityDescriptor&lt;/font&gt;&lt;/span&gt; descriptor);&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span&gt;&lt;font color="#0000ff"&gt;public&lt;/font&gt;&lt;/span&gt; &lt;span&gt;&lt;font color="#2b91af"&gt;IEnumerable&lt;/font&gt;&lt;/span&gt;&amp;lt;&lt;span&gt;&lt;font color="#2b91af"&gt;TeamFoundationTeam&lt;/font&gt;&lt;/span&gt;&amp;gt; QueryTeams(&lt;span&gt;&lt;font color="#0000ff"&gt;string&lt;/font&gt;&lt;/span&gt; projectId);&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span&gt;&lt;font color="#0000ff"&gt;public&lt;/font&gt;&lt;/span&gt; &lt;span&gt;&lt;font color="#2b91af"&gt;IEnumerable&lt;/font&gt;&lt;/span&gt;&amp;lt;&lt;span&gt;&lt;font color="#2b91af"&gt;TeamFoundationTeam&lt;/font&gt;&lt;/span&gt;&amp;gt; QueryTeams(&lt;span&gt;&lt;font color="#2b91af"&gt;IdentityDescriptor&lt;/font&gt;&lt;/span&gt; descriptor, &lt;span&gt;&lt;font color="#2b91af"&gt;List&lt;/font&gt;&lt;/span&gt;&amp;lt;&lt;span&gt;&lt;font color="#0000ff"&gt;string&lt;/font&gt;&lt;/span&gt;&amp;gt; propertyNameFilters);&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span&gt;&lt;font color="#0000ff"&gt;public&lt;/font&gt;&lt;/span&gt; &lt;span&gt;&lt;font color="#2b91af"&gt;TeamFoundationTeam&lt;/font&gt;&lt;/span&gt; ReadTeam(&lt;span&gt;&lt;font color="#2b91af"&gt;Guid&lt;/font&gt;&lt;/span&gt; teamId, &lt;span&gt;&lt;font color="#2b91af"&gt;List&lt;/font&gt;&lt;/span&gt;&amp;lt;&lt;span&gt;&lt;font color="#0000ff"&gt;string&lt;/font&gt;&lt;/span&gt;&amp;gt; propertyNameFilters);&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span&gt;&lt;font color="#0000ff"&gt;public&lt;/font&gt;&lt;/span&gt; &lt;span&gt;&lt;font color="#2b91af"&gt;TeamFoundationTeam&lt;/font&gt;&lt;/span&gt; ReadTeam(&lt;span&gt;&lt;font color="#2b91af"&gt;IdentityDescriptor&lt;/font&gt;&lt;/span&gt; descriptor, &lt;span&gt;&lt;font color="#2b91af"&gt;List&lt;/font&gt;&lt;/span&gt;&amp;lt;&lt;span&gt;&lt;font color="#0000ff"&gt;string&lt;/font&gt;&lt;/span&gt;&amp;gt; propertyNameFilters);&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span&gt;&lt;font color="#0000ff"&gt;public&lt;/font&gt;&lt;/span&gt; &lt;span&gt;&lt;font color="#2b91af"&gt;TeamFoundationTeam&lt;/font&gt;&lt;/span&gt; ReadTeam(&lt;span&gt;&lt;font color="#0000ff"&gt;string&lt;/font&gt;&lt;/span&gt; projectId, &lt;span&gt;&lt;font color="#0000ff"&gt;string&lt;/font&gt;&lt;/span&gt; teamName, &lt;span&gt;&lt;font color="#2b91af"&gt;List&lt;/font&gt;&lt;/span&gt;&amp;lt;&lt;span&gt;&lt;font color="#0000ff"&gt;string&lt;/font&gt;&lt;/span&gt;&amp;gt; propertyNameFilters);&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span&gt;&lt;font color="#0000ff"&gt;public&lt;/font&gt;&lt;/span&gt; &lt;span&gt;&lt;font color="#0000ff"&gt;void&lt;/font&gt;&lt;/span&gt; SetDefaultTeam(&lt;span&gt;&lt;font color="#2b91af"&gt;TeamFoundationTeam&lt;/font&gt;&lt;/span&gt; team);&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span&gt;&lt;font color="#0000ff"&gt;public&lt;/font&gt;&lt;/span&gt; &lt;span&gt;&lt;font color="#0000ff"&gt;void&lt;/font&gt;&lt;/span&gt; SetDefaultTeamId(&lt;span&gt;&lt;font color="#0000ff"&gt;string&lt;/font&gt;&lt;/span&gt; projectUri, &lt;span&gt;&lt;font color="#2b91af"&gt;Guid&lt;/font&gt;&lt;/span&gt; teamId);&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span&gt;&lt;font color="#0000ff"&gt;public&lt;/font&gt;&lt;/span&gt; &lt;span&gt;&lt;font color="#0000ff"&gt;void&lt;/font&gt;&lt;/span&gt; UpdateTeam(&lt;span&gt;&lt;font color="#2b91af"&gt;TeamFoundationTeam&lt;/font&gt;&lt;/span&gt; team);&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160; }&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;}&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;/div&gt;  &lt;p&gt;&lt;a href="http://blogs.microsoft.co.il/files/folders/shair/entry1097183.aspx" target="_blank"&gt;Download Demo Project&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.microsoft.co.il/aggbug.aspx?PostID=1098159" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/ShaiRaiten/~4/sv6f9PjXzK8" height="1" width="1"/&gt;</description><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/.NET/default.aspx">.NET</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/TFS/default.aspx">TFS</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/TFS+Administration/default.aspx">TFS Administration</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/TFS+Utilities/default.aspx">TFS Utilities</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/TECH/default.aspx">TECH</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/DEV/default.aspx">DEV</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/TFS+API/default.aspx">TFS API</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/TFS+11/default.aspx">TFS 11</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/Visual+Studio+11/default.aspx">Visual Studio 11</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/.NET+4.5/default.aspx">.NET 4.5</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/TfsTeamService/default.aspx">TfsTeamService</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/IGroupSecurityService/default.aspx">IGroupSecurityService</category><feedburner:origLink>http://blogs.microsoft.co.il/blogs/shair/archive/2012/05/21/tfs-api-part-45-vs11-modify-teams-and-team-members.aspx</feedburner:origLink></item><item><title>TFS API Part 44 (VS11) – Teams and Team Members</title><link>http://feedproxy.google.com/~r/ShaiRaiten/~3/35vEv0_2yq8/tfs-api-part-44-vs11-teams-and-team-members.aspx</link><pubDate>Sun, 20 May 2012 05:31:00 GMT</pubDate><guid isPermaLink="false">b5c4f5bc-c09b-4439-a595-91a98c1847df:1097107</guid><dc:creator>shair</dc:creator><slash:comments>2</slash:comments><wfw:commentRss>http://blogs.microsoft.co.il/blogs/shair/rsscomments.aspx?PostID=1097107</wfw:commentRss><comments>http://blogs.microsoft.co.il/blogs/shair/archive/2012/05/20/tfs-api-part-44-vs11-teams-and-team-members.aspx#comments</comments><description>&lt;div class="share-buttons"&gt;
&lt;div style="TEXT-ALIGN:left;LINE-HEIGHT:1em;PADDING-RIGHT:15px;FONT-FAMILY:Arial, Helvetica, sans-serif;FLOAT:left;FONT-SIZE:14px;"&gt;&lt;a class="twitter-share-button" href="http://blogs.microsoft.co.il/blogs/shair/archive/2012/05/20/tfs-api-part-44-vs11-teams-and-team-members.aspx"&gt;Tweet&lt;/a&gt;&lt;/div&gt;
&lt;div style="TEXT-ALIGN:left;LINE-HEIGHT:1em;PADDING-RIGHT:25px;FONT-FAMILY:Arial, Helvetica, sans-serif;FLOAT:left;FONT-SIZE:14px;"&gt;
&lt;script type="IN/Share"&gt;&lt;/script&gt;
&lt;/div&gt;
&lt;div style="TEXT-ALIGN:left;LINE-HEIGHT:1em;FONT-FAMILY:Arial, Helvetica, sans-serif;FLOAT:left;FONT-SIZE:14px;"&gt;&lt;iframe style="BORDER-BOTTOM:medium none;BORDER-LEFT:medium none;WIDTH:100px;HEIGHT:21px;OVERFLOW:hidden;BORDER-TOP:medium none;BORDER-RIGHT:medium none;" src="http://www.facebook.com/plugins/like.php?href=http://blogs.microsoft.co.il/blogs/shair/archive/2012/05/20/tfs-api-part-44-vs11-teams-and-team-members.aspx&amp;amp;send=false&amp;amp;layout=button_count&amp;amp;width=450&amp;amp;show_faces=false&amp;amp;action=like&amp;amp;colorscheme=light&amp;amp;font=segoe+ui&amp;amp;height=21&amp;amp;appId=184186808308137" frameborder="0"&gt;&lt;/iframe&gt;&lt;/div&gt;
&lt;div style="TEXT-ALIGN:left;LINE-HEIGHT:1em;FONT-FAMILY:Arial, Helvetica, sans-serif;FLOAT:left;FONT-SIZE:14px;"&gt;
&lt;div class="g-plusone"&gt;&lt;/div&gt;&lt;/div&gt;
&lt;div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;
&lt;p&gt;TFS 11 comes with many great changes for software development, the first and super important is &lt;strong&gt;Teams,&lt;/strong&gt; until TFS 11 Task work item or any other work item has to be assign to individual, means that you can’t assign a Task to a Scrum Team etc…&lt;/p&gt;  &lt;p&gt;So many people has built customize solution to handle this but no need! because TFS 11 comes with this great Feature! In TFS Web Management site you can add as many teams as you want under &lt;u&gt;One&lt;/u&gt; Team Project.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.microsoft.co.il/blogs/shair/image_1ED98E15.png"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="image" src="http://blogs.microsoft.co.il/blogs/shair/image_thumb_431E7297.png" width="597" height="271" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;If your team works with Scrum then you should have a product backlog, but how you can manage two or more backlogs for each team? Working without backlog for teams will make it very difficult to keep track on what our team already completed and the progress on each other Task. &lt;/p&gt;  &lt;p&gt;To Solve this you need to Assign Working &lt;strong&gt;Area &lt;/strong&gt;and/or &lt;strong&gt;Iteration&lt;/strong&gt; for &lt;strong&gt;Teams.&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.microsoft.co.il/blogs/shair/image_5924DE29.png"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="image" src="http://blogs.microsoft.co.il/blogs/shair/image_thumb_3E0C0F1B.png" width="596" height="594" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Now when you create a new Team there is a new &lt;strong&gt;Area&lt;/strong&gt; created with the Team Name, this allow you to assign stuff for that Area path so the team can easily the relevant tasks for her. You can also define a different Area for Each team.&lt;/p&gt;  &lt;p&gt;Now to the coding Part….. How to control teams from TFS API..&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.microsoft.co.il/blogs/shair/image_16C1A019.png"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="image" src="http://blogs.microsoft.co.il/blogs/shair/image_thumb_2D343EA0.png" width="591" height="295" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.microsoft.co.il/files/folders/shair/entry1097106.aspx" target="_blank"&gt;Download Demo Project&lt;/a&gt;&lt;/p&gt;  &lt;h2&gt;&lt;strong&gt;Step 1: Create Project and Add Reference&lt;/strong&gt;&lt;/h2&gt;  &lt;p&gt;Create an WPF application and add the following references:&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;First add reference for:&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Microsoft.TeamFoundation.Build.Client &lt;font color="#ff0000"&gt;(11.0.0.0)&lt;/font&gt; &lt;/li&gt;    &lt;li&gt;Microsoft.TeamFoundation.Build.Common.dll&amp;#160; &lt;font color="#ff0000"&gt;(11.0.0.0)&lt;/font&gt; &lt;/li&gt;    &lt;li&gt;System.Windows.Forms.dll &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;font size="2"&gt;(C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\ReferenceAssemblies\v2.0\)&lt;/font&gt;&lt;/p&gt;  &lt;h2&gt;Step 2: Connect Team Foundation Server&lt;/h2&gt;  &lt;p&gt;Now, this part should be familiar, &lt;u&gt;connecting to TFS server&lt;/u&gt;, there is plenty but the once I love the most if using TeamProjectPicker. After connect TFS we need to get a new service called – &lt;strong&gt;TfsTeamService – &lt;/strong&gt;as you can understand from the name it has relation to Teams…&lt;/p&gt;  &lt;p&gt;Using the Team Service we can query, add, remove and more but for now we’ll see how to get the full teams list and get team members.&lt;/p&gt;  &lt;p&gt;After I receive the teamservice I used &lt;strong&gt;QueryTeams&lt;/strong&gt; method with the Team Project Uri (the team project you picked using TeamProjectPicker)&lt;/p&gt;  &lt;div class="code" style="background:white;"&gt;   &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;span&gt;&lt;font color="#0000ff"&gt;&lt;font style="font-size:10pt;"&gt;private&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font style="font-size:10pt;"&gt; &lt;span&gt;&lt;font color="#0000ff"&gt;void&lt;/font&gt;&lt;/span&gt; btnConnect_Click(&lt;span&gt;&lt;font color="#0000ff"&gt;object&lt;/font&gt;&lt;/span&gt; sender, &lt;span&gt;&lt;font color="#2b91af"&gt;RoutedEventArgs&lt;/font&gt;&lt;/span&gt; e)&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;{&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span&gt;&lt;font color="#0000ff"&gt;var&lt;/font&gt;&lt;/span&gt; tpp = &lt;span&gt;&lt;font color="#0000ff"&gt;new&lt;/font&gt;&lt;/span&gt; &lt;span&gt;&lt;font color="#2b91af"&gt;TeamProjectPicker&lt;/font&gt;&lt;/span&gt;(&lt;span&gt;&lt;font color="#2b91af"&gt;TeamProjectPickerMode&lt;/font&gt;&lt;/span&gt;.SingleProject, &lt;span&gt;&lt;font color="#0000ff"&gt;false&lt;/font&gt;&lt;/span&gt;);&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160; tpp.ShowDialog();&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span&gt;&lt;font color="#0000ff"&gt;if&lt;/font&gt;&lt;/span&gt; (tpp.SelectedTeamProjectCollection == &lt;span&gt;&lt;font color="#0000ff"&gt;null&lt;/font&gt;&lt;/span&gt;) &lt;span&gt;&lt;font color="#0000ff"&gt;return&lt;/font&gt;&lt;/span&gt;;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160; tfs = tpp.SelectedTeamProjectCollection;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;   &lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/font&gt;        &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160; teamService = tfs.GetService&amp;lt;&lt;span&gt;&lt;font color="#2b91af"&gt;TfsTeamService&lt;/font&gt;&lt;/span&gt;&amp;gt;();&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160; listTeams.ItemsSource =&amp;#160; teamService.QueryTeams(tpp.SelectedProjects[0].Uri);&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;}&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;/div&gt;  &lt;h2&gt;Step 3: Get Members For Team&lt;/h2&gt;  &lt;p&gt;Now when you click on one team this will get the Team object we call &lt;strong&gt;GetMembers&lt;/strong&gt; method to get all Team Members for that Team.&lt;/p&gt;  &lt;p&gt;GetMembers method will return array of TeamFoundationIdentity, you can also change the MemberShipQuery enum to Extended in order to get Groups &amp;amp; Users.&lt;/p&gt;  &lt;div class="code" style="background:white;"&gt;   &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;span&gt;&lt;font color="#0000ff"&gt;&lt;font style="font-size:10pt;"&gt;private&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font style="font-size:10pt;"&gt; &lt;span&gt;&lt;font color="#0000ff"&gt;void&lt;/font&gt;&lt;/span&gt; listTeams_SelectionChanged(&lt;span&gt;&lt;font color="#0000ff"&gt;object&lt;/font&gt;&lt;/span&gt; sender, &lt;span&gt;&lt;font color="#2b91af"&gt;SelectionChangedEventArgs&lt;/font&gt;&lt;/span&gt; e)&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;{&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span&gt;&lt;font color="#0000ff"&gt;if&lt;/font&gt;&lt;/span&gt; (listTeams.SelectedItem == &lt;span&gt;&lt;font color="#0000ff"&gt;null&lt;/font&gt;&lt;/span&gt;) &lt;span&gt;&lt;font color="#0000ff"&gt;return&lt;/font&gt;&lt;/span&gt;;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span&gt;&lt;font color="#0000ff"&gt;var&lt;/font&gt;&lt;/span&gt; team = listTeams.SelectedItem &lt;span&gt;&lt;font color="#0000ff"&gt;as&lt;/font&gt;&lt;/span&gt; &lt;span&gt;&lt;font color="#2b91af"&gt;TeamFoundationTeam&lt;/font&gt;&lt;/span&gt;;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160; listMembers.ItemsSource = team.GetMembers(tfs, &lt;span&gt;&lt;font color="#2b91af"&gt;MembershipQuery&lt;/font&gt;&lt;/span&gt;.Direct);&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;}&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;/div&gt;  &lt;p&gt;&lt;a href="http://blogs.microsoft.co.il/files/folders/shair/entry1097106.aspx" target="_blank"&gt;Download Demo Project&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Enjoy&lt;/p&gt;&lt;img src="http://blogs.microsoft.co.il/aggbug.aspx?PostID=1097107" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/ShaiRaiten/~4/35vEv0_2yq8" height="1" width="1"/&gt;</description><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/TFS/default.aspx">TFS</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/TFS+Administration/default.aspx">TFS Administration</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/Development/default.aspx">Development</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/TECH/default.aspx">TECH</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/DEV/default.aspx">DEV</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/TFS+API/default.aspx">TFS API</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/TFS+11/default.aspx">TFS 11</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/TfsTeamService/default.aspx">TfsTeamService</category><feedburner:origLink>http://blogs.microsoft.co.il/blogs/shair/archive/2012/05/20/tfs-api-part-44-vs11-teams-and-team-members.aspx</feedburner:origLink></item><item><title>Test Scribe for Visual Studio 11 Beta</title><link>http://feedproxy.google.com/~r/ShaiRaiten/~3/3XNtFS5VD4c/test-scribe-for-visual-studio-11-beta.aspx</link><pubDate>Mon, 14 May 2012 10:37:40 GMT</pubDate><guid isPermaLink="false">b5c4f5bc-c09b-4439-a595-91a98c1847df:1091595</guid><dc:creator>shair</dc:creator><slash:comments>1</slash:comments><wfw:commentRss>http://blogs.microsoft.co.il/blogs/shair/rsscomments.aspx?PostID=1091595</wfw:commentRss><comments>http://blogs.microsoft.co.il/blogs/shair/archive/2012/05/14/test-scribe-for-visual-studio-11-beta.aspx#comments</comments><description>&lt;h6&gt;&lt;font size="3" face="Calibri"&gt;&lt;font style="font-weight:normal;"&gt;&lt;font style="font-weight:bold;"&gt;Test Scribe &lt;/font&gt;is a documentation power tool designed to construct documents directly from the TFS for test plan and test run artifacts for the purpose of discussion, reporting etc.&lt;/font&gt;&lt;/font&gt;&lt;/h6&gt;  &lt;p&gt;This is a popular extension for MTM, allowing users to export Test Documents, in previous posts I wrote about extending Test Scribe Template for MTM 10.&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;     &lt;h6&gt;&lt;a href="http://blogs.microsoft.co.il/blogs/shair/archive/2010/07/26/test-scribe-automatic-document-generating-for-test-manager-2010.aspx"&gt;&lt;font size="3" face="Calibri"&gt;&lt;font style="font-weight:normal;"&gt;Test Scribe – Automatic Document Generating For Test Manager 2010&lt;/font&gt;&lt;/font&gt;&lt;/a&gt;&lt;/h6&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;h6&gt;&lt;a href="http://blogs.microsoft.co.il/blogs/shair/archive/2011/10/18/test-scribe-developer-guide.aspx"&gt;&lt;font size="3" face="Calibri"&gt;&lt;font style="font-weight:normal;"&gt;Test Scribe – Developer Guide&lt;/font&gt;&lt;/font&gt;&lt;/a&gt;&lt;/h6&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;h6&gt;&lt;a href="http://blogs.microsoft.co.il/blogs/shair/archive/2011/10/16/how-to-change-test-scribe-template.aspx"&gt;&lt;font size="3" face="Calibri"&gt;&lt;font style="font-weight:normal;"&gt;How To Change Test Scribe Template&lt;/font&gt;&lt;/font&gt;&lt;/a&gt;&lt;/h6&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;h6&gt;&lt;font size="3" face="Calibri"&gt;&lt;font style="font-weight:normal;"&gt;And of course as we getting closer to VS 11 release here is Test Scribe for VS 11 Beta, &lt;a href="http://visualstudiogallery.msdn.microsoft.com/85b8215f-263f-4d1f-822b-307de339af38" target="_blank"&gt;Download Page&lt;/a&gt;&lt;/font&gt;&lt;/font&gt;&lt;/h6&gt;  &lt;p&gt;&lt;a href="http://blogs.microsoft.co.il/blogs/shair/image_635DC7C7.png"&gt;&lt;img title="image" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="image" src="http://blogs.microsoft.co.il/blogs/shair/image_thumb_222EFCC9.png" width="737" height="435" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.microsoft.co.il/aggbug.aspx?PostID=1091595" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/ShaiRaiten/~4/3XNtFS5VD4c" height="1" width="1"/&gt;</description><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/Testing/default.aspx">Testing</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/TECH/default.aspx">TECH</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/Visual+Studio+11/default.aspx">Visual Studio 11</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/Microsoft+Test+Manager+11/default.aspx">Microsoft Test Manager 11</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/Test+Scribe/default.aspx">Test Scribe</category><feedburner:origLink>http://blogs.microsoft.co.il/blogs/shair/archive/2012/05/14/test-scribe-for-visual-studio-11-beta.aspx</feedburner:origLink></item><item><title>Windows 8 JavaScript–Change Lock Screen Image</title><link>http://feedproxy.google.com/~r/ShaiRaiten/~3/qFsOg85SYCA/windows-8-javascript-change-lock-screen-image.aspx</link><pubDate>Tue, 17 Apr 2012 07:53:00 GMT</pubDate><guid isPermaLink="false">b5c4f5bc-c09b-4439-a595-91a98c1847df:1066388</guid><dc:creator>shair</dc:creator><slash:comments>4</slash:comments><wfw:commentRss>http://blogs.microsoft.co.il/blogs/shair/rsscomments.aspx?PostID=1066388</wfw:commentRss><comments>http://blogs.microsoft.co.il/blogs/shair/archive/2012/04/17/windows-8-javascript-change-lock-screen-image.aspx#comments</comments><description>&lt;div class="share-buttons"&gt;
&lt;div style="TEXT-ALIGN:left;LINE-HEIGHT:1em;PADDING-RIGHT:15px;FONT-FAMILY:Arial, Helvetica, sans-serif;FLOAT:left;FONT-SIZE:14px;"&gt;&lt;a class="twitter-share-button" href="http://blogs.microsoft.co.il/blogs/shair/archive/2012/04/16/windows-8-javascript-change-lock-screen-image.aspx"&gt;Tweet&lt;/a&gt;&lt;/div&gt;
&lt;div style="TEXT-ALIGN:left;LINE-HEIGHT:1em;PADDING-RIGHT:25px;FONT-FAMILY:Arial, Helvetica, sans-serif;FLOAT:left;FONT-SIZE:14px;"&gt;
&lt;script type="IN/Share"&gt;&lt;/script&gt;
&lt;/div&gt;
&lt;div style="TEXT-ALIGN:left;LINE-HEIGHT:1em;FONT-FAMILY:Arial, Helvetica, sans-serif;FLOAT:left;FONT-SIZE:14px;"&gt;&lt;iframe style="BORDER-BOTTOM:medium none;BORDER-LEFT:medium none;WIDTH:100px;HEIGHT:21px;OVERFLOW:hidden;BORDER-TOP:medium none;BORDER-RIGHT:medium none;" src="http://www.facebook.com/plugins/like.php?href=http://blogs.microsoft.co.il/blogs/shair/archive/2012/04/16/windows-8-javascript-change-lock-screen-image.aspx&amp;amp;send=false&amp;amp;layout=button_count&amp;amp;width=450&amp;amp;show_faces=false&amp;amp;action=like&amp;amp;colorscheme=light&amp;amp;font=segoe+ui&amp;amp;height=21&amp;amp;appId=184186808308137" frameborder="0"&gt;&lt;/iframe&gt;&lt;/div&gt;
&lt;div style="TEXT-ALIGN:left;LINE-HEIGHT:1em;FONT-FAMILY:Arial, Helvetica, sans-serif;FLOAT:left;FONT-SIZE:14px;"&gt;
&lt;div class="g-plusone"&gt;&lt;/div&gt;&lt;/div&gt;
&lt;div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;
&lt;p&gt;In the past couple of months I’ve worked a lot with Windows 8 JavaScript and C#, I’ve also wrote plenty of posts on that subject and there is much more stuff to talk about.&lt;/p&gt;  &lt;p&gt;In this post I’ll show two things:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Using File Picker using JavaScript &lt;/li&gt;    &lt;li&gt;Change Windows 8 Lock Screen Image Programmatically &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;&lt;a href="http://blogs.microsoft.co.il/blogs/shair/image_6A51130F.png"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="image" src="http://blogs.microsoft.co.il/blogs/shair/image_thumb_5000841E.png" width="756" height="571" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.microsoft.co.il/files/folders/1066385/download.aspx" target="_blank"&gt;Download Demo Project&lt;/a&gt;&lt;/p&gt;  &lt;h3&gt;Step 1: Create Blank JavaScript Project&lt;/h3&gt;  &lt;p&gt;In the &lt;u&gt;app.onactivated&lt;/u&gt; function we add the following code to listen the Choose Picture button and calling the displayCurrentImg function.     &lt;br /&gt;When you click the Choose Picture button we call the openFilePicker function.&lt;/p&gt;  &lt;div class="code" style="background:white;"&gt;   &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;app.onactivated = &lt;span&gt;&lt;font color="#0000ff"&gt;function&lt;/font&gt;&lt;/span&gt; (eventObject) {&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span&gt;&lt;font color="#0000ff"&gt;if&lt;/font&gt;&lt;/span&gt; (eventObject.detail.kind === Windows.ApplicationModel.Activation.ActivationKind.launch) {&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;font style="background-color:#ffff00;"&gt;$(&lt;span&gt;&lt;font color="#800000"&gt;&amp;quot;#btnBrowse&amp;quot;&lt;/font&gt;&lt;/span&gt;).addEventListener(&lt;span&gt;&lt;font color="#800000"&gt;&amp;quot;click&amp;quot;&lt;/font&gt;&lt;/span&gt;, &lt;span&gt;&lt;font color="#0000ff"&gt;function&lt;/font&gt;&lt;/span&gt; () {&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;background-color:#ffff00;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; openFilePicker();&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;background-color:#ffff00;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }, &lt;span&gt;&lt;font color="#0000ff"&gt;false&lt;/font&gt;&lt;/span&gt;);&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;background-color:#ffff00;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; displayCurrentLockImg();&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; WinJS.UI.processAll();&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160; }&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;};&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;/div&gt;  &lt;h3&gt;Step 2: Find The Current Lock Screen Image&lt;a href="http://blogs.microsoft.co.il/blogs/shair/16-04-2012-15-40-25_017BCBE7.png"&gt;&lt;img title="16-04-2012 15-40-25" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;float:right;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="16-04-2012 15-40-25" align="right" src="http://blogs.microsoft.co.il/blogs/shair/16-04-2012-15-40-25_thumb_7264ED0C.png" width="159" height="177" /&gt;&lt;/a&gt;&lt;/h3&gt;  &lt;p&gt;You might notice that in the previous step I used $ char to find the button element, no I’m not using JQuery, I’ve just create a function that return the querySelector return value based on the value we pass. I said it before and I’ll say it again there is not need to add JQuery to Windows 8 Application everything you need is there!&lt;/p&gt;  &lt;p&gt;Now for getting the current Lock Screen Image we’ll use the WinRT UserProfile.    &lt;br /&gt;Windows.System.UserProfile.LockScreen has couple of interesting function you can use:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;getImgeStream – will return the current Lock Screen Image as Stream. &lt;/li&gt;    &lt;li&gt;originalImageFile – the current Image file object. &lt;/li&gt;    &lt;li&gt;setImageFileAsync – Set a new Image from File &lt;/li&gt;    &lt;li&gt;setImageStreamAsync – Set a new Image from Stream &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;For now we just want to display the file path of the Lock Screen image.&lt;/p&gt;  &lt;div class="code" style="background:white;"&gt;   &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;span&gt;&lt;font color="#0000ff"&gt;&lt;font style="font-size:10pt;"&gt;function&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font style="font-size:10pt;"&gt; $(elementId) {&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span&gt;&lt;font color="#0000ff"&gt;return&lt;/font&gt;&lt;/span&gt; document.querySelector(elementId);&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;}&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;span&gt;&lt;font color="#0000ff"&gt;&lt;font style="font-size:10pt;"&gt;function&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font style="font-size:10pt;"&gt; displayCurrentLockImg() {&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span&gt;&lt;font color="#0000ff"&gt;var&lt;/font&gt;&lt;/span&gt; lockScreenFile = $(&lt;span&gt;&lt;font color="#800000"&gt;&amp;quot;#lockScreenFile&amp;quot;&lt;/font&gt;&lt;/span&gt;);&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160; lockScreenFile.innerHTML = Windows.System.UserProfile.LockScreen.originalImageFile.path;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;}&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;/div&gt;  &lt;h3&gt;Step 3: Using File Picker&lt;/h3&gt;  &lt;p&gt;File Picker is also a part of WinRT, the file picker allow us to brose through the user files.    &lt;br /&gt;First we need to create a new instance of FileOpenPicker from Windows.Storage.Pickers.&lt;/p&gt;  &lt;p&gt;After we have the picker object we can define the view mode – how we’ll see the files on the picker screen:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;List &lt;/li&gt;    &lt;li&gt;Thumbnail &lt;/li&gt; &lt;/ul&gt;  &lt;p class="code"&gt;picker.viewMode = Windows.Storage.Pickers.PickerViewMode.thumbnail;&lt;/p&gt;  &lt;p&gt;Now we can define the suggestedStartLocation object that will open our picker at a specific location.    &lt;br /&gt;&lt;br /&gt;&lt;span class="code"&gt;picker.suggestedStartLocation = Windows.Storage.Pickers.PickerLocationId.picturesLibrary;&lt;/span&gt;     &lt;br /&gt;    &lt;br /&gt;Enum Windows.Storage.Pickers.PickerLocationId:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;computerFolder &lt;/li&gt;    &lt;li&gt;desktop &lt;/li&gt;    &lt;li&gt;documentsLibrary &lt;/li&gt;    &lt;li&gt;downloads &lt;/li&gt;    &lt;li&gt;homeGroup &lt;/li&gt;    &lt;li&gt;musicLibrary &lt;/li&gt;    &lt;li&gt;picturesLibrary &lt;/li&gt;    &lt;li&gt;videosLibrary &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;We define the file filter to allow Images selection only by replacing all existing filters and adding new once.    &lt;br /&gt;    &lt;br /&gt;&lt;span class="code"&gt;picker.fileTypeFilter.replaceAll([&lt;span&gt;&lt;font color="#800000"&gt;&amp;quot;.jpg&amp;quot;&lt;/font&gt;&lt;/span&gt;, &lt;span&gt;&lt;font color="#800000"&gt;&amp;quot;.jpeg&amp;quot;&lt;/font&gt;&lt;/span&gt;, &lt;span&gt;&lt;font color="#800000"&gt;&amp;quot;.png&amp;quot;&lt;/font&gt;&lt;/span&gt;, &lt;span&gt;&lt;font color="#800000"&gt;&amp;quot;.bmp&amp;quot;&lt;/font&gt;&lt;/span&gt;]);&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;Finally we call the pickSingleFileAsync to open the File Picker screen, you can also use pickMultipleFilesAsync for multiple file selection.&lt;/p&gt;  &lt;p&gt;&lt;u&gt;&lt;strong&gt;Full Code:&lt;/strong&gt;&lt;/u&gt;&lt;/p&gt;  &lt;div class="code"&gt;   &lt;p style="background:white;margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;span&gt;&lt;font color="#0000ff"&gt;&lt;font style="font-size:10pt;"&gt;function&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font style="font-size:10pt;"&gt; openFilePicker() {&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="background:white;margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span&gt;&lt;font color="#0000ff"&gt;var&lt;/font&gt;&lt;/span&gt; picker = &lt;span&gt;&lt;font color="#0000ff"&gt;new&lt;/font&gt;&lt;/span&gt; Windows.Storage.Pickers.FileOpenPicker();&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="background:white;margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160; picker.viewMode = Windows.Storage.Pickers.PickerViewMode.thumbnail;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="background:white;margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160; picker.suggestedStartLocation = Windows.Storage.Pickers.PickerLocationId.picturesLibrary;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="background:white;margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160; picker.fileTypeFilter.replaceAll([&lt;span&gt;&lt;font color="#800000"&gt;&amp;quot;.jpg&amp;quot;&lt;/font&gt;&lt;/span&gt;, &lt;span&gt;&lt;font color="#800000"&gt;&amp;quot;.jpeg&amp;quot;&lt;/font&gt;&lt;/span&gt;, &lt;span&gt;&lt;font color="#800000"&gt;&amp;quot;.png&amp;quot;&lt;/font&gt;&lt;/span&gt;, &lt;span&gt;&lt;font color="#800000"&gt;&amp;quot;.bmp&amp;quot;&lt;/font&gt;&lt;/span&gt;]);&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="background:white;margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="background:white;margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160; picker.pickSingleFileAsync().then(&lt;span&gt;&lt;font color="#0000ff"&gt;function&lt;/font&gt;&lt;/span&gt; (file) {&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;/div&gt;  &lt;h3&gt;Step 4: Set New Lock Screen Image&lt;/h3&gt;  &lt;p&gt;After we use the file picker to pick a new image the Lock Screen we just need to call setImageFileAsync function passing the file object from the picker and we’re Done!&lt;/p&gt;  &lt;div class="code" style="background:white;"&gt;   &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;picker.pickSingleFileAsync().then(&lt;span&gt;&lt;font color="#0000ff"&gt;function&lt;/font&gt;&lt;/span&gt; (file) {&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span&gt;&lt;font color="#0000ff"&gt;if&lt;/font&gt;&lt;/span&gt; (file) {&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;span&gt;&lt;font style="font-size:10pt;" color="#008000"&gt;// Application now has read/write access to the picked file, setting image to lockscreen.&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Windows.System.UserProfile.LockScreen.setImageFileAsync(file).then(&lt;span&gt;&lt;font color="#0000ff"&gt;function&lt;/font&gt;&lt;/span&gt; (imageSet) {&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; $(&lt;span&gt;&lt;font color="#800000"&gt;&amp;quot;#lockImg&amp;quot;&lt;/font&gt;&lt;/span&gt;).src = URL.createObjectURL(file, &lt;span&gt;&lt;font color="#0000ff"&gt;false&lt;/font&gt;&lt;/span&gt;);&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; $(&lt;span&gt;&lt;font color="#800000"&gt;&amp;quot;#lockImg&amp;quot;&lt;/font&gt;&lt;/span&gt;).style.display = &lt;span&gt;&lt;font color="#800000"&gt;&amp;quot;block&amp;quot;&lt;/font&gt;&lt;/span&gt;;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; displayCurrentLockImg();&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; },&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span&gt;&lt;font color="#0000ff"&gt;function&lt;/font&gt;&lt;/span&gt; (imageSet) {&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;span&gt;&lt;font style="font-size:10pt;" color="#008000"&gt;// Set Image promise failed.&amp;#160; Display failure message.&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; showErr(&lt;span&gt;&lt;font color="#800000"&gt;&amp;quot;Setting the lock screen image failed.&amp;#160; Make sure your copy of Windows is activated.&amp;quot;&lt;/font&gt;&lt;/span&gt;);&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; });&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160; }&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;},&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;span&gt;&lt;font color="#0000ff"&gt;&lt;font style="font-size:10pt;"&gt;function&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font style="font-size:10pt;"&gt; (file) {&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160; showErr(&lt;span&gt;&lt;font color="#800000"&gt;&amp;quot;File was not returned&amp;quot;&lt;/font&gt;&lt;/span&gt;);&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;});&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;/div&gt;  &lt;p&gt;&lt;a href="http://blogs.microsoft.co.il/files/folders/1066385/download.aspx" target="_blank"&gt;Download Demo Project&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Enjoy.&lt;/p&gt;&lt;img src="http://blogs.microsoft.co.il/aggbug.aspx?PostID=1066388" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/ShaiRaiten/~4/qFsOg85SYCA" height="1" width="1"/&gt;</description><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/.NET/default.aspx">.NET</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/Development/default.aspx">Development</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/DEV/default.aspx">DEV</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/Metro+Style/default.aspx">Metro Style</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/Windows+8/default.aspx">Windows 8</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/.NET+4.5/default.aspx">.NET 4.5</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/JavaScript/default.aspx">JavaScript</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/Metro/default.aspx">Metro</category><feedburner:origLink>http://blogs.microsoft.co.il/blogs/shair/archive/2012/04/17/windows-8-javascript-change-lock-screen-image.aspx</feedburner:origLink></item><item><title>Windows 8 – Icons</title><link>http://feedproxy.google.com/~r/ShaiRaiten/~3/5wbUbCenq38/windows-8-icons.aspx</link><pubDate>Wed, 11 Apr 2012 12:05:00 GMT</pubDate><guid isPermaLink="false">b5c4f5bc-c09b-4439-a595-91a98c1847df:1061158</guid><dc:creator>shair</dc:creator><slash:comments>2</slash:comments><wfw:commentRss>http://blogs.microsoft.co.il/blogs/shair/rsscomments.aspx?PostID=1061158</wfw:commentRss><comments>http://blogs.microsoft.co.il/blogs/shair/archive/2012/04/11/windows-8-icons.aspx#comments</comments><description>&lt;div class="share-buttons"&gt;
&lt;div style="TEXT-ALIGN:left;LINE-HEIGHT:1em;PADDING-RIGHT:15px;FONT-FAMILY:Arial, Helvetica, sans-serif;FLOAT:left;FONT-SIZE:14px;"&gt;&lt;a class="twitter-share-button" href="http://blogs.microsoft.co.il/blogs/shair/archive/2012/04/11/windows-8-icons.aspx"&gt;Tweet&lt;/a&gt;&lt;/div&gt;
&lt;div style="TEXT-ALIGN:left;LINE-HEIGHT:1em;PADDING-RIGHT:25px;FONT-FAMILY:Arial, Helvetica, sans-serif;FLOAT:left;FONT-SIZE:14px;"&gt;
&lt;script type="IN/Share"&gt;&lt;/script&gt;
&lt;/div&gt;
&lt;div style="TEXT-ALIGN:left;LINE-HEIGHT:1em;FONT-FAMILY:Arial, Helvetica, sans-serif;FLOAT:left;FONT-SIZE:14px;"&gt;&lt;iframe style="BORDER-BOTTOM:medium none;BORDER-LEFT:medium none;WIDTH:100px;HEIGHT:21px;OVERFLOW:hidden;BORDER-TOP:medium none;BORDER-RIGHT:medium none;" src="http://www.facebook.com/plugins/like.php?href=http://blogs.microsoft.co.il/blogs/shair/archive/2012/04/11/windows-8-icons.aspx&amp;amp;send=false&amp;amp;layout=button_count&amp;amp;width=450&amp;amp;show_faces=false&amp;amp;action=like&amp;amp;colorscheme=light&amp;amp;font=segoe+ui&amp;amp;height=21&amp;amp;appId=184186808308137" frameborder="0"&gt;&lt;/iframe&gt;&lt;/div&gt;
&lt;div style="TEXT-ALIGN:left;LINE-HEIGHT:1em;FONT-FAMILY:Arial, Helvetica, sans-serif;FLOAT:left;FONT-SIZE:14px;"&gt;
&lt;div class="g-plusone"&gt;&lt;/div&gt;&lt;/div&gt;
&lt;div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;
   &lt;p&gt;Everyone who start developing for Windows 8 most heard about the AppBar control, the AppBar control is a navigation bar allowing the developer to add commands for his application.   &lt;br /&gt;When you define a command for AppBar you can set a Icon for it and there is already a lot of icons available for you out of the box in any Metro app.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.microsoft.co.il/blogs/shair/image_23CD3A37.png"&gt;&lt;img title="image" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;margin:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="image" src="http://blogs.microsoft.co.il/blogs/shair/image_thumb_21440879.png" width="459" height="55" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;To use those built it icons in C# and JavaScript you just need to set the font-family to - &lt;strong&gt;&lt;u&gt;Segoe UI Symbol&lt;/u&gt;&lt;/strong&gt; and write down the hexadecimal value of the icon.&lt;/p&gt;  &lt;p&gt;Because the Icons are coming from Font they are &lt;u&gt;Vectorial, &lt;/u&gt;this means you don’t have to add images to your project and you can modify the icon color by just changing the text color to any color you want.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.microsoft.co.il/files/folders/1061150/download.aspx" target="_blank"&gt;Download Demo Solution&lt;/a&gt; – The solution contains both JavaScript and C# project.&lt;/p&gt;  &lt;h2&gt;C#&lt;/h2&gt;  &lt;p&gt;&lt;a href="http://blogs.microsoft.co.il/blogs/shair/image_3FAE4962.png"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="image" src="http://blogs.microsoft.co.il/blogs/shair/image_thumb_4F01AB71.png" width="755" height="430" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;For C# there isn’t a built in Enum like in JavaScript but you can use the following code to run over all available Icons:&lt;/p&gt;  &lt;div class="code" style="background:white;"&gt;   &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;span&gt;&lt;font color="#0000ff"&gt;&lt;font style="font-size:10pt;"&gt;public&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font style="font-size:10pt;"&gt; SampleDataSource()&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;{&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span&gt;&lt;font color="#0000ff"&gt;var&lt;/font&gt;&lt;/span&gt; startIndex = 0xE10F - 300;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span&gt;&lt;font color="#0000ff"&gt;var&lt;/font&gt;&lt;/span&gt; endIndex = startIndex + 1000;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span&gt;&lt;font color="#0000ff"&gt;var&lt;/font&gt;&lt;/span&gt; icons = &lt;span&gt;&lt;font color="#0000ff"&gt;new&lt;/font&gt;&lt;/span&gt; &lt;span&gt;&lt;font color="#2b91af"&gt;SampleDataGroup&lt;/font&gt;&lt;/span&gt;(&lt;span&gt;&lt;font color="#800000"&gt;&amp;quot;Icons&amp;quot;&lt;/font&gt;&lt;/span&gt;, &lt;/font&gt;&lt;/font&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&lt;span&gt;&lt;font color="#800000"&gt;&amp;quot;C# Icon List&amp;quot;&lt;/font&gt;&lt;/span&gt;);&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span&gt;&lt;font color="#0000ff"&gt;for&lt;/font&gt;&lt;/span&gt; (&lt;span&gt;&lt;font color="#0000ff"&gt;int&lt;/font&gt;&lt;/span&gt; i = startIndex; i &amp;lt; endIndex; i++)&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160; {&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; icons.Items.Add(&lt;span&gt;&lt;font color="#0000ff"&gt;new&lt;/font&gt;&lt;/span&gt; &lt;span&gt;&lt;font color="#2b91af"&gt;SampleDataItem&lt;/font&gt;&lt;/span&gt;(i.ToString(),&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (&lt;span&gt;&lt;font color="#0000ff"&gt;char&lt;/font&gt;&lt;/span&gt;)i,&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span&gt;&lt;font color="#0000ff"&gt;string&lt;/font&gt;&lt;/span&gt;.Format(&lt;span&gt;&lt;font color="#800000"&gt;&amp;quot;0x{0:X}:&amp;quot;&lt;/font&gt;&lt;/span&gt;, i),&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; icons));&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160; }&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span&gt;&lt;font color="#0000ff"&gt;this&lt;/font&gt;&lt;/span&gt;.ItemGroups.Add(icons);&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;}&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;/div&gt;  &lt;h2&gt;JavaScript&lt;/h2&gt;  &lt;p&gt;In JavaScript getting all icons is easy, you have a built it enum called – AppBarIcon, you can use this instead of the hexadecimal value, although this is AppBar icons you can use them everywhere.&lt;/p&gt;  &lt;div class="code" style="background:white;"&gt;   &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;lt;button data-win-control=&lt;span&gt;&lt;font color="#800000"&gt;&amp;quot;WinJS.UI.AppBarCommand&amp;quot;&lt;/font&gt;&lt;/span&gt; data-win-options=&lt;span&gt;&lt;font color="#800000"&gt;&amp;quot;{id:&amp;#39;cmd&amp;#39;, label:&amp;#39;Command&amp;#39;, icon:&lt;font style="background-color:#ffff00;"&gt;&amp;#39;placeholder&amp;#39;&lt;/font&gt;}&amp;quot;&lt;/font&gt;&lt;/span&gt;&amp;gt;&amp;lt;/button&amp;gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;/div&gt;  &lt;p&gt;The most important thing for using those Icons is setting the Font to &lt;u&gt;&lt;strong&gt;&amp;#39;Segoe UI Symbol&amp;#39;. &lt;/strong&gt;(Example: Top Left Corner)&lt;/u&gt;&lt;/p&gt;  &lt;div class="code" style="background:white;"&gt;   &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;lt;p style=&lt;span&gt;&lt;font color="#800000"&gt;&amp;quot;font-family: &amp;#39;Segoe UI Symbol&amp;#39;;&amp;quot;&lt;/font&gt;&lt;/span&gt;&amp;gt;&amp;amp;#xE111;&amp;lt;/p&amp;gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;/div&gt;  &lt;p&gt;&lt;a href="http://blogs.microsoft.co.il/blogs/shair/image_0FC381D4.png"&gt;&lt;img title="image" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="image" src="http://blogs.microsoft.co.il/blogs/shair/image_thumb_2D555CD3.png" width="755" height="426" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;For JavaScript this is much more simple, you can just call the WinJS.UI.AppBarIcon enum to see all available icons or you can open the &lt;strong&gt;ui.js&lt;/strong&gt; file and go to line – 27338 – or search for &lt;strong&gt;AppBarIcon: {.&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;This will show you the entire list of icons for JavaScript.&lt;/p&gt;  &lt;div class="code" style="background:white;"&gt;   &lt;p style="margin:0px;"&gt;&lt;span&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;" color="#008000"&gt;// Glyph Enumeration&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;span&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;" color="#008000"&gt;/// &amp;lt;dictionary&amp;gt;Segoe&amp;lt;/dictionary&amp;gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;(&lt;span&gt;&lt;font color="#0000ff"&gt;function&lt;/font&gt;&lt;/span&gt; (WinJS) {&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160; WinJS.Namespace.define(&lt;span&gt;&lt;font color="#800000"&gt;&amp;quot;WinJS.UI&amp;quot;&lt;/font&gt;&lt;/span&gt;, {&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; AppBarIcon: {&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;span&gt;&lt;font style="font-size:10pt;" color="#008000"&gt;// Code point comments are the icon glyphs in the &amp;#39;Segoe UI Symbol&amp;#39; font.&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; previous:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span&gt;&lt;font color="#800000"&gt;&amp;quot;\uE100&amp;quot;&lt;/font&gt;&lt;/span&gt;, &lt;/font&gt;&lt;span&gt;&lt;font style="font-size:10pt;" color="#008000"&gt;// &lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; next:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span&gt;&lt;font color="#800000"&gt;&amp;quot;\uE101&amp;quot;&lt;/font&gt;&lt;/span&gt;, &lt;/font&gt;&lt;span&gt;&lt;font style="font-size:10pt;" color="#008000"&gt;// &lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; play:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span&gt;&lt;font color="#800000"&gt;&amp;quot;\uE102&amp;quot;&lt;/font&gt;&lt;/span&gt;, &lt;/font&gt;&lt;span&gt;&lt;font style="font-size:10pt;" color="#008000"&gt;// &lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; pause:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span&gt;&lt;font color="#800000"&gt;&amp;quot;\uE103&amp;quot;&lt;/font&gt;&lt;/span&gt;, &lt;/font&gt;&lt;span&gt;&lt;font style="font-size:10pt;" color="#008000"&gt;// &lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; edit:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span&gt;&lt;font color="#800000"&gt;&amp;quot;\uE104&amp;quot;&lt;/font&gt;&lt;/span&gt;, &lt;/font&gt;&lt;span&gt;&lt;font style="font-size:10pt;" color="#008000"&gt;// &lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; save:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span&gt;&lt;font color="#800000"&gt;&amp;quot;\uE105&amp;quot;&lt;/font&gt;&lt;/span&gt;, &lt;/font&gt;&lt;span&gt;&lt;font style="font-size:10pt;" color="#008000"&gt;// &lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; clear:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span&gt;&lt;font color="#800000"&gt;&amp;quot;\uE106&amp;quot;&lt;/font&gt;&lt;/span&gt;, &lt;/font&gt;&lt;span&gt;&lt;font style="font-size:10pt;" color="#008000"&gt;// &lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span&gt;&lt;font color="#0000ff"&gt;delete&lt;/font&gt;&lt;/span&gt;:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span&gt;&lt;font color="#800000"&gt;&amp;quot;\uE107&amp;quot;&lt;/font&gt;&lt;/span&gt;, &lt;/font&gt;&lt;span&gt;&lt;font style="font-size:10pt;" color="#008000"&gt;// &lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt; &lt;/div&gt;&lt;img src="http://blogs.microsoft.co.il/aggbug.aspx?PostID=1061158" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/ShaiRaiten/~4/5wbUbCenq38" height="1" width="1"/&gt;</description><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/.NET/default.aspx">.NET</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/Development/default.aspx">Development</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/DEV/default.aspx">DEV</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/Windows+8/default.aspx">Windows 8</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/Visual+Studio+11/default.aspx">Visual Studio 11</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/.NET+4.5/default.aspx">.NET 4.5</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/JavaScript/default.aspx">JavaScript</category><feedburner:origLink>http://blogs.microsoft.co.il/blogs/shair/archive/2012/04/11/windows-8-icons.aspx</feedburner:origLink></item><item><title>Copy Source As Html-Visual Studio 11</title><link>http://feedproxy.google.com/~r/ShaiRaiten/~3/zLsL5lWEiQQ/copy-source-as-html-visual-studio-11.aspx</link><pubDate>Tue, 10 Apr 2012 18:21:00 GMT</pubDate><guid isPermaLink="false">b5c4f5bc-c09b-4439-a595-91a98c1847df:1060402</guid><dc:creator>shair</dc:creator><slash:comments>2</slash:comments><wfw:commentRss>http://blogs.microsoft.co.il/blogs/shair/rsscomments.aspx?PostID=1060402</wfw:commentRss><comments>http://blogs.microsoft.co.il/blogs/shair/archive/2012/04/10/copy-source-as-html-visual-studio-11.aspx#comments</comments><description>&lt;div class="share-buttons"&gt;
&lt;div style="TEXT-ALIGN:left;LINE-HEIGHT:1em;PADDING-RIGHT:15px;FONT-FAMILY:Arial, Helvetica, sans-serif;FLOAT:left;FONT-SIZE:14px;"&gt;&lt;a class="twitter-share-button" href="http://blogs.microsoft.co.il/blogs/shair/archive/2012/04/10/copy-source-as-html-visual-studio-11.aspx"&gt;Tweet&lt;/a&gt;&lt;/div&gt;
&lt;div style="TEXT-ALIGN:left;LINE-HEIGHT:1em;PADDING-RIGHT:25px;FONT-FAMILY:Arial, Helvetica, sans-serif;FLOAT:left;FONT-SIZE:14px;"&gt;
&lt;script type="IN/Share"&gt;&lt;/script&gt;
&lt;/div&gt;
&lt;div style="TEXT-ALIGN:left;LINE-HEIGHT:1em;FONT-FAMILY:Arial, Helvetica, sans-serif;FLOAT:left;FONT-SIZE:14px;"&gt;&lt;iframe style="BORDER-BOTTOM:medium none;BORDER-LEFT:medium none;WIDTH:100px;HEIGHT:21px;OVERFLOW:hidden;BORDER-TOP:medium none;BORDER-RIGHT:medium none;" src="http://www.facebook.com/plugins/like.php?href=http://blogs.microsoft.co.il/blogs/shair/archive/2012/04/10/copy-source-as-html-visual-studio-11.aspx&amp;amp;send=false&amp;amp;layout=button_count&amp;amp;width=450&amp;amp;show_faces=false&amp;amp;action=like&amp;amp;colorscheme=light&amp;amp;font=segoe+ui&amp;amp;height=21&amp;amp;appId=184186808308137" frameborder="0"&gt;&lt;/iframe&gt;&lt;/div&gt;
&lt;div style="TEXT-ALIGN:left;LINE-HEIGHT:1em;FONT-FAMILY:Arial, Helvetica, sans-serif;FLOAT:left;FONT-SIZE:14px;"&gt;
&lt;div class="g-plusone"&gt;&lt;/div&gt;&lt;/div&gt;
&lt;div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;
&lt;p&gt;I think this is a most tool for any blogger out there, most of my posts contains Source Code &lt;a href="http://blogs.microsoft.co.il/blogs/shair/image_5EA15DCA.png"&gt;&lt;img title="image" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;float:right;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="image" align="right" src="http://blogs.microsoft.co.il/blogs/shair/image_thumb_4C951A3D.png" width="307" height="292" /&gt;&lt;/a&gt;examples and pasting Source Code without Colors and Format is just ugly.&lt;/p&gt;  &lt;p&gt;In Visual Studio 2010 Microsoft released the Productivity Tools that has the Copy Source Code as Html built in, also there is a CodePlex project - &lt;a href="http://copysourceashtml.codeplex.com/"&gt;http://copysourceashtml.codeplex.com/&lt;/a&gt; that supports Visual Studio 2005 and 2008.&lt;/p&gt;  &lt;p&gt;Because Productivity Tools for Visual Studio 11 Beta isn’t out yet I’ve modified the CopySourceAsHtml project to Visual Studio 11 Beta + Some code changes (Bad performance loading visual studio).&lt;/p&gt;  &lt;p&gt;This setup file supports – Visual Studio 2005,2008,2010 and 11 Beta.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.microsoft.co.il/files/folders/1060400/download.aspx" target="_blank"&gt;&lt;img alt="msi" src="http://blogs.microsoft.co.il/utility/filethumbnails/msi.gif" /&gt;&lt;/a&gt;&lt;a href="http://blogs.microsoft.co.il/files/folders/1060400/download.aspx" target="_blank"&gt;Download Msi&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Using Copy Source Code As Html&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;u&gt;Without &lt;/u&gt;    &lt;br /&gt;using System.Reflection;    &lt;br /&gt;using System.Runtime.CompilerServices;&lt;/p&gt;  &lt;p&gt;&lt;u&gt;With&lt;/u&gt;&lt;/p&gt;  &lt;div style="background:white;"&gt;   &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;span&gt;&lt;font color="#008080"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160; 1&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&lt;span&gt;&lt;font color="#0000ff"&gt;using&lt;/font&gt;&lt;/span&gt; System.Reflection;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;font face="Consolas"&gt;&lt;span&gt;&lt;font color="#008080"&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&amp;#160;&amp;#160; 2&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font style="font-size:10pt;"&gt;&amp;#160;&lt;span&gt;&lt;font color="#0000ff"&gt;using&lt;/font&gt;&lt;/span&gt; System.Runtime.CompilerServices;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;/div&gt;  &lt;p&gt;Enjoy&lt;/p&gt;&lt;img src="http://blogs.microsoft.co.il/aggbug.aspx?PostID=1060402" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/ShaiRaiten/~4/zLsL5lWEiQQ" height="1" width="1"/&gt;</description><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/.NET/default.aspx">.NET</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/Development/default.aspx">Development</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/TECH/default.aspx">TECH</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/DEV/default.aspx">DEV</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/Visual+Studio+2010/default.aspx">Visual Studio 2010</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/.NET+4/default.aspx">.NET 4</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/Tools/default.aspx">Tools</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/Visual+Studio+11/default.aspx">Visual Studio 11</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/.NET+4.5/default.aspx">.NET 4.5</category><feedburner:origLink>http://blogs.microsoft.co.il/blogs/shair/archive/2012/04/10/copy-source-as-html-visual-studio-11.aspx</feedburner:origLink></item><item><title>Windows 8 JavaScript – FlipView Control</title><link>http://feedproxy.google.com/~r/ShaiRaiten/~3/mCkCny_KPDk/windows-8-javascript-flipview-control.aspx</link><pubDate>Sun, 08 Apr 2012 16:16:00 GMT</pubDate><guid isPermaLink="false">b5c4f5bc-c09b-4439-a595-91a98c1847df:1058286</guid><dc:creator>shair</dc:creator><slash:comments>2</slash:comments><wfw:commentRss>http://blogs.microsoft.co.il/blogs/shair/rsscomments.aspx?PostID=1058286</wfw:commentRss><comments>http://blogs.microsoft.co.il/blogs/shair/archive/2012/04/08/windows-8-javascript-flipview-control.aspx#comments</comments><description>&lt;div class="share-buttons"&gt;
&lt;div style="TEXT-ALIGN:left;LINE-HEIGHT:1em;PADDING-RIGHT:15px;FONT-FAMILY:Arial, Helvetica, sans-serif;FLOAT:left;FONT-SIZE:14px;"&gt;&lt;a class="twitter-share-button" href="http://blogs.microsoft.co.il/blogs/shair/archive/2012/04/08/windows-8-javascript-flipview-control.aspx"&gt;Tweet&lt;/a&gt;&lt;/div&gt;
&lt;div style="TEXT-ALIGN:left;LINE-HEIGHT:1em;PADDING-RIGHT:25px;FONT-FAMILY:Arial, Helvetica, sans-serif;FLOAT:left;FONT-SIZE:14px;"&gt;
&lt;script type="IN/Share"&gt;&lt;/script&gt;
&lt;/div&gt;
&lt;div style="TEXT-ALIGN:left;LINE-HEIGHT:1em;FONT-FAMILY:Arial, Helvetica, sans-serif;FLOAT:left;FONT-SIZE:14px;"&gt;&lt;iframe style="BORDER-BOTTOM:medium none;BORDER-LEFT:medium none;WIDTH:100px;HEIGHT:21px;OVERFLOW:hidden;BORDER-TOP:medium none;BORDER-RIGHT:medium none;" src="http://www.facebook.com/plugins/like.php?href=http://blogs.microsoft.co.il/blogs/shair/archive/2012/04/08/windows-8-javascript-flipview-control.aspx&amp;amp;send=false&amp;amp;layout=button_count&amp;amp;width=450&amp;amp;show_faces=false&amp;amp;action=like&amp;amp;colorscheme=light&amp;amp;font=segoe+ui&amp;amp;height=21&amp;amp;appId=184186808308137" frameborder="0"&gt;&lt;/iframe&gt;&lt;/div&gt;
&lt;div style="TEXT-ALIGN:left;LINE-HEIGHT:1em;FONT-FAMILY:Arial, Helvetica, sans-serif;FLOAT:left;FONT-SIZE:14px;"&gt;
&lt;div class="g-plusone"&gt;&lt;/div&gt;&lt;/div&gt;
&lt;div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;
&lt;p&gt;Windows 8 Metro App has couple of wonderful ways to display data, the more common way is Grid and Split Application Template. (You can read more about Windows 8 Project Templates - &lt;a href="http://blogs.microsoft.co.il/blogs/shair/archive/2012/02/29/windows-8-javascript-metro-application-getting-started.aspx"&gt;&lt;font style="font-weight:normal;"&gt;Windows 8 JavaScript Metro Application–Getting Started&lt;/font&gt;&lt;/a&gt;).&lt;/p&gt;  &lt;p&gt;But there are several other ways to display information, in this post I’ll demonstrate a FlipView control, that represents an items control that displays one item at a time, and which enables &amp;quot;flip&amp;quot; behavior for traversing its collection of items. The items on this FlipView control will come from my Blog Rss using SyndicationClient.&lt;/p&gt;  &lt;p&gt;We’ll create a FlipView control and also build a navigation bar for FlipView items.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.microsoft.co.il/blogs/shair/image_607DB52F.png"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="image" src="http://blogs.microsoft.co.il/blogs/shair/image_thumb_482A9B14.png" width="721" height="407" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.microsoft.co.il/files/folders/1058285/download.aspx" target="_blank"&gt;Download Demo Project&lt;/a&gt;&lt;/p&gt;  &lt;h3&gt;Step 1: Define Progress Bar&lt;/h3&gt;  &lt;p&gt;After we create a Blank JavaScript project, we want to define the progress bar (while loading the rss feeds), for that I’ve added a progress element.&lt;/p&gt;  &lt;div class="code"&gt;&amp;lt;div id=&amp;quot;pbContainer&amp;quot;&amp;gt;    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;label id=&amp;quot;pb&amp;quot; class=&amp;quot;progressRingText large&amp;quot;&amp;gt;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;progress class=&amp;quot;win-ring win-large withText&amp;quot;&amp;gt;&amp;lt;/progress&amp;gt;Processing     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/label&amp;gt;     &lt;br /&gt;&amp;lt;/div&amp;gt; &lt;/div&gt;  &lt;p&gt;&lt;a href="http://blogs.microsoft.co.il/blogs/shair/image_65BC7613.png"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;margin:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="image" src="http://blogs.microsoft.co.il/blogs/shair/image_thumb_203775E8.png" width="244" height="74" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;h3&gt;Step 2: Add Item Template and FlipView Control&lt;/h3&gt;  &lt;p&gt;I’ve create a Template control that has item-content with the feed html and itemTitle that display the feed title.&lt;/p&gt;  &lt;p class="code"&gt;&amp;lt;div id=&amp;quot;ItemTemplate&amp;quot; data-win-control=&amp;quot;WinJS.Binding.Template&amp;quot; style=&amp;quot;display: none&amp;quot;&amp;gt;    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;div class=&amp;quot;overlaidItemTemplate&amp;quot;&amp;gt;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;div class=&amp;quot;item-content&amp;quot; data-win-bind=&amp;quot;innerHTML: content&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;div class=&amp;quot;overlay&amp;quot;&amp;gt;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;h2 class=&amp;quot;ItemTitle&amp;quot; data-win-bind=&amp;quot;innerText: title&amp;quot;&amp;gt;&amp;lt;/h2&amp;gt;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/div&amp;gt;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/div&amp;gt;     &lt;br /&gt;&amp;lt;/div&amp;gt;&lt;/p&gt;  &lt;p&gt;Now I add a new div element of type FlipView and bind his itemTemplate object to our ItemTemplate.&lt;/p&gt;  &lt;p class="code"&gt;&amp;lt;div id=&amp;quot;flipview&amp;quot; class=&amp;quot;flipView&amp;quot; data-win-control=&amp;quot;WinJS.UI.FlipView&amp;quot; data-win-options=&amp;quot;{ itemTemplate: ItemTemplate }&amp;quot;&amp;gt;    &lt;br /&gt;&amp;lt;/div&amp;gt;&lt;/p&gt;  &lt;h3&gt;Step 3: Get Blog Feeds&lt;/h3&gt;  &lt;p&gt;I’ve created a new JavaScript file called – data.js, I create a namspace for items object that returns getPosts function.&lt;/p&gt;  &lt;p&gt;getPosts is a &lt;a href="http://blogs.microsoft.co.il/blogs/shair/archive/2012/03/07/window-8-javascript-asynchronous-programming-amp-app-storage.aspx" target="_blank"&gt;Asynchronous&lt;/a&gt; function (it return the feeds), using SyndicationClient I send me blog Rss uri and for each feed I get I convert it to feedItem object (that contains the title, link and content of the feed), then I add each feed to the Array called blogData and at the end return a List from that Array.&lt;/p&gt;  &lt;p class="code"&gt;(function () {    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;quot;use strict&amp;quot;;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; var blogData = [];&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; var syn = new Windows.Web.Syndication.SyndicationClient();     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; var url = new Windows.Foundation.Uri(&amp;quot;http://feeds.feedburner.com/ShaiRaiten&amp;quot;);     &lt;br /&gt;    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; function getPosts() {     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; return syn.retrieveFeedAsync(url).then(function (feeds) {     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; for (var i = 0, len = feeds.items.length; i &amp;lt; len; i++) {     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; var item = new feedItem(feeds.items[i], i);     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; blogData.push(item);     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; return new WinJS.Binding.List(blogData);     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }, helper.showError);     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; }     &lt;br /&gt;&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160; function feedItem(item, index) {     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; this.title = item.title.text;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; this.link = item.links.first().current.nodeValue;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; this.content = item.summary.text;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; }     &lt;br /&gt;&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160; WinJS.Namespace.define(&amp;quot;data&amp;quot;, {     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; items: getPosts     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; });     &lt;br /&gt;})();&lt;/p&gt;  &lt;h3&gt;Step 4: Bind Feeds To FlipView&lt;/h3&gt;  &lt;p&gt;On default.js in onactivated function we call the data.items() function and using then we make sure that only after we get the feeds we process the page, using querySelector we get the FlipView control and assign the itemDataSource to our list datasource.&lt;/p&gt;  &lt;p&gt;This will display my feeds on the FlipView Control.&lt;/p&gt;  &lt;p class="code"&gt;var dataArray = data.items().then(function (blogData) {    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; posts = blogData;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; WinJS.UI.processAll().then(function () {     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; var f = document.querySelector(&amp;quot;#flipview&amp;quot;).winControl;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; WinJS.UI.setOptions(f, { itemDataSource: posts.dataSource });     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; helper.showLoading(false);     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; })&amp;#160; &lt;br /&gt;}, helper.showError);&lt;/p&gt;  &lt;h3&gt;Step 5: Change FlipView Orientation Buttons&lt;/h3&gt;  &lt;p&gt;The next thing is to change the FlipView Orientation Buttons, this is a very simple task – Once the user click on the Horizontal button we call the changeOrientation function that checks what is the current Orientation and swipe it.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.microsoft.co.il/blogs/shair/image_7ED7D04B.png"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="image" src="http://blogs.microsoft.co.il/blogs/shair/image_thumb_147208E9.png" width="743" height="420" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p class="code"&gt;WinJS.UI.processAll().then(function () {    &lt;br /&gt;var f = document.querySelector(&amp;quot;#flipview&amp;quot;).winControl;     &lt;br /&gt;&lt;font style="background-color:#ffff00;"&gt;document.querySelector(&amp;quot;#btnchangeOr&amp;quot;).addEventListener(&amp;quot;click&amp;quot;, changeOrientation);      &lt;br /&gt;&lt;/font&gt;WinJS.UI.setOptions(f, { itemDataSource: posts.dataSource });     &lt;br /&gt;helper.showLoading(false);&lt;/p&gt;  &lt;p&gt;The changeOrientation function:&lt;/p&gt;  &lt;p class="code"&gt;function changeOrientation(e) {    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; var f = document.querySelector(&amp;quot;#flipview&amp;quot;).winControl;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; if (f.orientation === &amp;quot;horizontal&amp;quot;) {     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; f.orientation = &amp;quot;vertical&amp;quot;;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; e.srcElement.innerText = &amp;quot;Horizontal&amp;quot;;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; } else {     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; f.orientation = &amp;quot;horizontal&amp;quot;;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; e.srcElement.innerText = &amp;quot;Vertical&amp;quot;;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; }     &lt;br /&gt;}&lt;/p&gt;  &lt;h3&gt;Step 6: Build FlipView Navigation Bar&lt;/h3&gt;  &lt;p&gt;As I said in the beginning of this post, there are several ways to display data – when using FlipView control our user is forced to navigate the items one by one – Even if the user want to see the last item he has to go though all the items in the FlipView Control. &lt;/p&gt;  &lt;p&gt;For that I built a simple navigation bar, you can adjust it with Feed titles and more – anything that will allow you user to quickly jump between items in FlipView control.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.microsoft.co.il/blogs/shair/image_4AFFB42D.png"&gt;&lt;img title="image" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="image" src="http://blogs.microsoft.co.il/blogs/shair/image_thumb_773C3B11.png" width="750" height="103" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;I’ve create another function called – buildIndex, this function received the total number or items in the FlipView control and for each control we create a RadioButton, each radio button a value telling the FlipView item Id and for click event we call radioButtonClicked function.&lt;/p&gt;  &lt;p&gt;The radioButtonClicked function using the trigger object (The item which the user clicked on), we pull the value attribute and we change the FlipView curretPage object to that Id. this will force the FlipView Control to display that item.&lt;/p&gt;  &lt;p&gt;Now, the user can still use the FlipView standard navigation buttons, so we need to listen to that event and based on the current page select the proper RadioButton.    &lt;br /&gt;We listen to “pageselected” event on the FlipView control and change the RadioButton based on the currentPage object (int).&lt;/p&gt;  &lt;p&gt;Finally we add those RadioButtons to the DOM. &lt;/p&gt;  &lt;p class="code"&gt;function buildIndex(count) {    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; var f = document.querySelector(&amp;quot;#flipview&amp;quot;).winControl;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; var contextControl = document.createElement(&amp;quot;div&amp;quot;);     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; contextControl.className = &amp;quot;contextControl&amp;quot;;    &lt;br /&gt;    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; function radioButtonClicked(eventObject) {&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; var targetPage = eventObject.target.getAttribute(&amp;quot;value&amp;quot;);     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; f.currentPage = parseInt(targetPage);&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; }    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; // Create radio buttons for each page in the FlipView.    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; var radioButtons = [];     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; for (var i = 0; i &amp;lt; count; ++i) {     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; var radioButton = document.createElement(&amp;quot;input&amp;quot;);     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; radioButton.setAttribute(&amp;quot;type&amp;quot;, &amp;quot;radio&amp;quot;);     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; radioButton.setAttribute(&amp;quot;name&amp;quot;, &amp;quot;flipperContextGroup&amp;quot;);     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; radioButton.setAttribute(&amp;quot;value&amp;quot;, i);     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; radioButton.setAttribute(&amp;quot;aria-label&amp;quot;, (i + 1) + &amp;quot; of &amp;quot; + count);     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; radioButton.addEventListener(&amp;quot;click&amp;quot;, radioButtonClicked, false);     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; radioButtons.push(radioButton);     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; contextControl.appendChild(radioButton);     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; }    &lt;br /&gt;    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; //&amp;#160; Set the currently checked item to the item the FlipView is     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; //&amp;#160; currently on.     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; if (count &amp;gt; 0) {     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; radioButtons[f.currentPage].checked = true;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; }    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; //&amp;#160; The context control needs to listen to FlipView events so     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; //&amp;#160; that it can display what is currently in view.     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; f.addEventListener(&amp;quot;pageselected&amp;quot;, function () {&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; // Need to set the current page.     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; var page = f.currentPage;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; radioButtons[page].checked = true;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; }, false);    &lt;br /&gt;    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; //&amp;#160; Finally, we need to add the control into the DOM.     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; var contextContainer = document.getElementById(&amp;quot;ContextContainer&amp;quot;);     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; contextContainer.appendChild(contextControl);     &lt;br /&gt;}&lt;/p&gt;    &lt;p&gt;&lt;a href="http://blogs.microsoft.co.il/files/folders/1058285/download.aspx" target="_blank"&gt;Download Demo Project&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Enjoy.&lt;/p&gt;&lt;img src="http://blogs.microsoft.co.il/aggbug.aspx?PostID=1058286" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/ShaiRaiten/~4/mCkCny_KPDk" height="1" width="1"/&gt;</description><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/Development/default.aspx">Development</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/TECH/default.aspx">TECH</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/DEV/default.aspx">DEV</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/Windows+8/default.aspx">Windows 8</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/Visual+Studio+11/default.aspx">Visual Studio 11</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/JavaScript/default.aspx">JavaScript</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/Metro/default.aspx">Metro</category><feedburner:origLink>http://blogs.microsoft.co.il/blogs/shair/archive/2012/04/08/windows-8-javascript-flipview-control.aspx</feedburner:origLink></item><item><title>TFS API Part 43–Delete Work Item Tool</title><link>http://feedproxy.google.com/~r/ShaiRaiten/~3/fm6Lq6g6Ts0/tfs-api-part-43-delete-work-item-tool.aspx</link><pubDate>Fri, 06 Apr 2012 10:28:00 GMT</pubDate><guid isPermaLink="false">b5c4f5bc-c09b-4439-a595-91a98c1847df:1056030</guid><dc:creator>shair</dc:creator><slash:comments>3</slash:comments><wfw:commentRss>http://blogs.microsoft.co.il/blogs/shair/rsscomments.aspx?PostID=1056030</wfw:commentRss><comments>http://blogs.microsoft.co.il/blogs/shair/archive/2012/04/06/tfs-api-part-43-delete-work-item-tool.aspx#comments</comments><description>&lt;div class="share-buttons"&gt;
&lt;div style="TEXT-ALIGN:left;LINE-HEIGHT:1em;PADDING-RIGHT:15px;FONT-FAMILY:Arial, Helvetica, sans-serif;FLOAT:left;FONT-SIZE:14px;"&gt;&lt;a class="twitter-share-button" href="http://blogs.microsoft.co.il/blogs/shair/archive/2012/04/06/tfs-api-part-43-delete-work-item-tool.aspx"&gt;Tweet&lt;/a&gt;&lt;/div&gt;
&lt;div style="TEXT-ALIGN:left;LINE-HEIGHT:1em;PADDING-RIGHT:25px;FONT-FAMILY:Arial, Helvetica, sans-serif;FLOAT:left;FONT-SIZE:14px;"&gt;
&lt;script type="IN/Share"&gt;&lt;/script&gt;
&lt;/div&gt;
&lt;div style="TEXT-ALIGN:left;LINE-HEIGHT:1em;FONT-FAMILY:Arial, Helvetica, sans-serif;FLOAT:left;FONT-SIZE:14px;"&gt;&lt;iframe style="BORDER-BOTTOM:medium none;BORDER-LEFT:medium none;WIDTH:100px;HEIGHT:21px;OVERFLOW:hidden;BORDER-TOP:medium none;BORDER-RIGHT:medium none;" src="http://www.facebook.com/plugins/like.php?href=http://blogs.microsoft.co.il/blogs/shair/archive/2012/04/06/tfs-api-part-43-delete-work-item-tool.aspx&amp;amp;send=false&amp;amp;layout=button_count&amp;amp;width=450&amp;amp;show_faces=false&amp;amp;action=like&amp;amp;colorscheme=light&amp;amp;font=segoe+ui&amp;amp;height=21&amp;amp;appId=184186808308137" frameborder="0"&gt;&lt;/iframe&gt;&lt;/div&gt;
&lt;div style="TEXT-ALIGN:left;LINE-HEIGHT:1em;FONT-FAMILY:Arial, Helvetica, sans-serif;FLOAT:left;FONT-SIZE:14px;"&gt;
&lt;div class="g-plusone"&gt;&lt;/div&gt;&lt;/div&gt;
&lt;div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;p&gt;In previous post - &lt;a href="http://blogs.microsoft.co.il/blogs/shair/archive/2010/02/19/tfs-api-part-21-delete-work-item-using-workitemstore-demo-application.aspx"&gt;TFS API Part 21: Delete Work Item using WorkItemStore (Demo Application)&lt;/a&gt; I showed how to delete Work Items from TFS using TFS API. &lt;/p&gt;  &lt;p&gt;My problem was that it not easy to delete work items one by one so I decided to build a tool based on TFS Queries to allow me easily select the work items I want to delete.&lt;/p&gt;  
 &lt;p&gt;You can download executable from &lt;a href="http://beta.blogs.microsoft.co.il/files/folders/1057904/download.aspx" target="_blank"&gt;&lt;strong&gt;Here&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;You can download  Source Code from &lt;a href="http://blogs.microsoft.co.il/files/folders/1056029/download.aspx" target="_blank"&gt;&lt;strong&gt;Here&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;font color="#ff0000"&gt;*** Deleting Work Item Action Is Not Recoverable ***&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt; &lt;a href="http://blogs.microsoft.co.il/blogs/shair/image_3ABBAC3C.png"&gt;&lt;img title="image" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="image" src="http://blogs.microsoft.co.il/blogs/shair/image_thumb_66F83320.png" width="554" height="366" /&gt;&lt;/a&gt;  &lt;p&gt;Enjoy&lt;/p&gt;&lt;img src="http://blogs.microsoft.co.il/aggbug.aspx?PostID=1056030" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/ShaiRaiten/~4/fm6Lq6g6Ts0" height="1" width="1"/&gt;</description><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/TFS/default.aspx">TFS</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/Development/default.aspx">Development</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/Visual+Studio/default.aspx">Visual Studio</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/DEV/default.aspx">DEV</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/ITPRO/default.aspx">ITPRO</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/TFS+API/default.aspx">TFS API</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/Visual+Studio+2010/default.aspx">Visual Studio 2010</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/Tools/default.aspx">Tools</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/TFS+11/default.aspx">TFS 11</category><feedburner:origLink>http://blogs.microsoft.co.il/blogs/shair/archive/2012/04/06/tfs-api-part-43-delete-work-item-tool.aspx</feedburner:origLink></item><item><title>How to Remove Windows 8 Consumer Preview Watermark In 5 Steps</title><link>http://feedproxy.google.com/~r/ShaiRaiten/~3/DVBYx4T0RTU/how-to-remove-windows-8-consumer-preview-watermark-in-5-steps.aspx</link><pubDate>Tue, 03 Apr 2012 16:37:00 GMT</pubDate><guid isPermaLink="false">b5c4f5bc-c09b-4439-a595-91a98c1847df:1053428</guid><dc:creator>shair</dc:creator><slash:comments>4</slash:comments><wfw:commentRss>http://blogs.microsoft.co.il/blogs/shair/rsscomments.aspx?PostID=1053428</wfw:commentRss><comments>http://blogs.microsoft.co.il/blogs/shair/archive/2012/04/03/how-to-remove-windows-8-consumer-preview-watermark-in-5-steps.aspx#comments</comments><description>&lt;div class="share-buttons"&gt;
&lt;div style="TEXT-ALIGN:left;LINE-HEIGHT:1em;PADDING-RIGHT:15px;FONT-FAMILY:Arial, Helvetica, sans-serif;FLOAT:left;FONT-SIZE:14px;"&gt;&lt;a class="twitter-share-button" href="http://blogs.microsoft.co.il/blogs/shair/archive/2012/04/03/how-to-remove-windows-8-consumer-preview-watermark-in-5-steps.aspx"&gt;Tweet&lt;/a&gt;&lt;/div&gt;
&lt;div style="TEXT-ALIGN:left;LINE-HEIGHT:1em;PADDING-RIGHT:25px;FONT-FAMILY:Arial, Helvetica, sans-serif;FLOAT:left;FONT-SIZE:14px;"&gt;
&lt;script type="IN/Share"&gt;&lt;/script&gt;
&lt;/div&gt;
&lt;div style="TEXT-ALIGN:left;LINE-HEIGHT:1em;FONT-FAMILY:Arial, Helvetica, sans-serif;FLOAT:left;FONT-SIZE:14px;"&gt;&lt;iframe style="BORDER-BOTTOM:medium none;BORDER-LEFT:medium none;WIDTH:100px;HEIGHT:21px;OVERFLOW:hidden;BORDER-TOP:medium none;BORDER-RIGHT:medium none;" src="http://www.facebook.com/plugins/like.php?href=http://blogs.microsoft.co.il/blogs/shair/archive/2012/04/03/how-to-remove-windows-8-consumer-preview-watermark-in-5-steps.aspx&amp;amp;send=false&amp;amp;layout=button_count&amp;amp;width=450&amp;amp;show_faces=false&amp;amp;action=like&amp;amp;colorscheme=light&amp;amp;font=segoe+ui&amp;amp;height=21&amp;amp;appId=184186808308137" frameborder="0"&gt;&lt;/iframe&gt;&lt;/div&gt;
&lt;div style="TEXT-ALIGN:left;LINE-HEIGHT:1em;FONT-FAMILY:Arial, Helvetica, sans-serif;FLOAT:left;FONT-SIZE:14px;"&gt;
&lt;div class="g-plusone"&gt;&lt;/div&gt;&lt;/div&gt;
&lt;div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;
&lt;p&gt;I’ve installed the Windows 8 Consumer Preview and this is amazing! but the only thing annoying is the watermark on the bottom right corner.&lt;/p&gt;  &lt;p&gt;I know you might think this is dumb, but this watermark bother my eyes… So I decided to remove it!&lt;/p&gt;  &lt;p&gt;There is probably other ways to do that, Registry and more but I don’t want to change to much things – I know how Windows 7 worked with Images so there is not much different for Windows 8.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.microsoft.co.il/blogs/shair/image_4C275F21.png"&gt;&lt;img title="image" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="image" src="http://blogs.microsoft.co.il/blogs/shair/image_thumb_6299FDA8.png" width="325" height="146" /&gt;&lt;/a&gt;&lt;a href="http://blogs.microsoft.co.il/blogs/shair/image_60E931D4.png"&gt;&lt;img title="image" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="image" src="http://blogs.microsoft.co.il/blogs/shair/image_thumb_119C3980.png" width="346" height="146" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;So here is how I did it:&lt;/p&gt;  &lt;p&gt;1. Open run by clicking WinKey + R, and write the following path to open Windows 8 Themes directory.&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;%appdata%\Microsoft\Windows\Themes&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;a href="http://blogs.microsoft.co.il/blogs/shair/image_7E0ED9DE.png"&gt;&lt;img title="image" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="image" src="http://blogs.microsoft.co.il/blogs/shair/image_thumb_3C942785.png" width="555" height="289" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;2. Make a copy of the “TranscodedWallpaper.jpg” image by clicking “Ctrl+C” and “Ctrl+V” (Copy and Paste&amp;quot;)&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.microsoft.co.il/blogs/shair/image_48496EB7.png"&gt;&lt;img title="image" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="image" src="http://blogs.microsoft.co.il/blogs/shair/image_thumb_69E59788.png" width="656" height="246" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;3. Open the “CachedFiles” directory&lt;/p&gt;  &lt;p&gt;Right click on the image inside and choose Rename, then copy the image name.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.microsoft.co.il/blogs/shair/image_46D52618.png"&gt;&lt;img title="image" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="image" src="http://blogs.microsoft.co.il/blogs/shair/image_thumb_2575807C.png" width="199" height="202" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;4. Go back to the “Themes” directory and rename the “TranscodedWallpaper - Copy.jpg” (The file we just duplicate) to the value you just copied.&lt;/p&gt;  &lt;p&gt;Copy that image inside the “CachedFiles” directory, choose to replace the file.&lt;/p&gt;      &lt;p&gt;&lt;a href="http://blogs.microsoft.co.il/blogs/shair/image_78801DA0.png"&gt;&lt;img title="image" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="image" src="http://blogs.microsoft.co.il/blogs/shair/image_thumb_16EA5E8A.png" width="462" height="315" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;5. Now just click F5 on your desktop and walla!&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.microsoft.co.il/blogs/shair/image_5FC0D090.png"&gt;&lt;img title="image" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="image" src="http://blogs.microsoft.co.il/blogs/shair/image_thumb_5352AD67.png" width="451" height="190" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.microsoft.co.il/aggbug.aspx?PostID=1053428" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/ShaiRaiten/~4/DVBYx4T0RTU" height="1" width="1"/&gt;</description><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/TECH/default.aspx">TECH</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/ITPRO/default.aspx">ITPRO</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/How+To/default.aspx">How To</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/Windows+8/default.aspx">Windows 8</category><feedburner:origLink>http://blogs.microsoft.co.il/blogs/shair/archive/2012/04/03/how-to-remove-windows-8-consumer-preview-watermark-in-5-steps.aspx</feedburner:origLink></item><item><title>I’m VS ALM Microsoft MVP For 2012!</title><link>http://feedproxy.google.com/~r/ShaiRaiten/~3/PJci-tIqcaw/i-m-vs-alm-microsoft-mvp-for-2012.aspx</link><pubDate>Sun, 01 Apr 2012 16:02:00 GMT</pubDate><guid isPermaLink="false">b5c4f5bc-c09b-4439-a595-91a98c1847df:1051524</guid><dc:creator>shair</dc:creator><slash:comments>3</slash:comments><wfw:commentRss>http://blogs.microsoft.co.il/blogs/shair/rsscomments.aspx?PostID=1051524</wfw:commentRss><comments>http://blogs.microsoft.co.il/blogs/shair/archive/2012/04/01/i-m-vs-alm-microsoft-mvp-for-2012.aspx#comments</comments><description>&lt;div class="share-buttons"&gt;
&lt;div style="TEXT-ALIGN:left;LINE-HEIGHT:1em;PADDING-RIGHT:15px;FONT-FAMILY:Arial, Helvetica, sans-serif;FLOAT:left;FONT-SIZE:14px;"&gt;&lt;a class="twitter-share-button" href="http://blogs.microsoft.co.il/blogs/shair/archive/2012/04/01/i-m-vs-alm-microsoft-mvp-for-2012.aspx"&gt;Tweet&lt;/a&gt;&lt;/div&gt;
&lt;div style="TEXT-ALIGN:left;LINE-HEIGHT:1em;PADDING-RIGHT:25px;FONT-FAMILY:Arial, Helvetica, sans-serif;FLOAT:left;FONT-SIZE:14px;"&gt;
&lt;script type="IN/Share"&gt;&lt;/script&gt;
&lt;/div&gt;
&lt;div style="TEXT-ALIGN:left;LINE-HEIGHT:1em;FONT-FAMILY:Arial, Helvetica, sans-serif;FLOAT:left;FONT-SIZE:14px;"&gt;&lt;iframe style="BORDER-BOTTOM:medium none;BORDER-LEFT:medium none;WIDTH:100px;HEIGHT:21px;OVERFLOW:hidden;BORDER-TOP:medium none;BORDER-RIGHT:medium none;" src="http://www.facebook.com/plugins/like.php?href=http://blogs.microsoft.co.il/blogs/shair/archive/2012/04/01/i-m-vs-alm-microsoft-mvp-for-2012.aspx&amp;amp;send=false&amp;amp;layout=button_count&amp;amp;width=450&amp;amp;show_faces=false&amp;amp;action=like&amp;amp;colorscheme=light&amp;amp;font=segoe+ui&amp;amp;height=21&amp;amp;appId=184186808308137" frameborder="0"&gt;&lt;/iframe&gt;&lt;/div&gt;
&lt;div style="TEXT-ALIGN:left;LINE-HEIGHT:1em;FONT-FAMILY:Arial, Helvetica, sans-serif;FLOAT:left;FONT-SIZE:14px;"&gt;
&lt;div class="g-plusone"&gt;&lt;/div&gt;&lt;/div&gt;
&lt;div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;
&lt;p&gt;This is my fourth time as VS ALM MVP and still excited like it’s the first time I got this email:&lt;img style="float:right;display:inline;" alt="MVP" align="right" src="http://blogs.microsoft.co.il/blogs/shair/MVP_thumb_66A905AC.png" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Congratulations! We are pleased to present you with the 2012 Microsoft® MVP Award!&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;To be a Microsoft MVP is a great honor and I’ll keep work hard for the community: Talking and Writing about new technologies and more.&lt;/p&gt;  &lt;p&gt;I would like start saying Thanks to My Mentor and my good friend &lt;strong&gt;&lt;a href="http://blogs.microsoft.co.il/blogs/bursteg/"&gt;Guy Burstein&lt;/a&gt;&lt;/strong&gt;     &lt;br /&gt;(The King!!!) who guide me and help me getting where I’m today.    &lt;br /&gt;    &lt;br /&gt;I also would like to say many thanks to my company &lt;a href="http://www.selagroup.com/"&gt;Sela&lt;/a&gt;, my boss David Bassa (Also my King) and Caro Segal and Ishai Ram who pushed me forward in the technical community, promote many tools we built for the ALM community and helping me keep the MVP Award for another Year!&lt;/p&gt;  &lt;p&gt;And I’ll also like to thank &lt;strong&gt;You&lt;/strong&gt;, yes &lt;strong&gt;You&lt;/strong&gt;! reading my blog is big part of my contribution for the community and I hope you keep reading my blog and hopefully enjoy it.&lt;/p&gt;  &lt;p&gt;Thanks!&lt;/p&gt;&lt;img src="http://blogs.microsoft.co.il/aggbug.aspx?PostID=1051524" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/ShaiRaiten/~4/PJci-tIqcaw" height="1" width="1"/&gt;</description><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/TECH/default.aspx">TECH</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/DEV/default.aspx">DEV</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/ITPRO/default.aspx">ITPRO</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/MVP/default.aspx">MVP</category><feedburner:origLink>http://blogs.microsoft.co.il/blogs/shair/archive/2012/04/01/i-m-vs-alm-microsoft-mvp-for-2012.aspx</feedburner:origLink></item><item><title>Windows 8 - DEP0600 : The following unexpected error occurred during deployment</title><link>http://feedproxy.google.com/~r/ShaiRaiten/~3/nub1Op4BDLw/windows-8-dep0600-the-following-unexpected-error-occurred-during-deployment.aspx</link><pubDate>Sun, 01 Apr 2012 15:47:00 GMT</pubDate><guid isPermaLink="false">b5c4f5bc-c09b-4439-a595-91a98c1847df:1051505</guid><dc:creator>shair</dc:creator><slash:comments>13</slash:comments><wfw:commentRss>http://blogs.microsoft.co.il/blogs/shair/rsscomments.aspx?PostID=1051505</wfw:commentRss><comments>http://blogs.microsoft.co.il/blogs/shair/archive/2012/04/01/windows-8-dep0600-the-following-unexpected-error-occurred-during-deployment.aspx#comments</comments><description>&lt;div class="share-buttons"&gt;
&lt;div style="TEXT-ALIGN:left;LINE-HEIGHT:1em;PADDING-RIGHT:15px;FONT-FAMILY:Arial, Helvetica, sans-serif;FLOAT:left;FONT-SIZE:14px;"&gt;&lt;a class="twitter-share-button" href="http://blogs.microsoft.co.il/blogs/shair/archive/2012/04/01/windows-8-dep0600-the-following-unexpected-error-occurred-during-de"&gt;Tweet&lt;/a&gt;&lt;/div&gt;
&lt;div style="TEXT-ALIGN:left;LINE-HEIGHT:1em;PADDING-RIGHT:25px;FONT-FAMILY:Arial, Helvetica, sans-serif;FLOAT:left;FONT-SIZE:14px;"&gt;
&lt;script type="IN/Share"&gt;&lt;/script&gt;
&lt;/div&gt;
&lt;div style="TEXT-ALIGN:left;LINE-HEIGHT:1em;FONT-FAMILY:Arial, Helvetica, sans-serif;FLOAT:left;FONT-SIZE:14px;"&gt;&lt;iframe style="BORDER-BOTTOM:medium none;BORDER-LEFT:medium none;WIDTH:100px;HEIGHT:21px;OVERFLOW:hidden;BORDER-TOP:medium none;BORDER-RIGHT:medium none;" src="http://www.facebook.com/plugins/like.php?href=http://blogs.microsoft.co.il/blogs/shair/archive/2012/04/01/windows-8-dep0600-the-following-unexpected-error-occurred-during-de&amp;amp;send=false&amp;amp;layout=button_count&amp;amp;width=450&amp;amp;show_faces=false&amp;amp;action=like&amp;amp;colorscheme=light&amp;amp;font=segoe+ui&amp;amp;height=21&amp;amp;appId=184186808308137" frameborder="0"&gt;&lt;/iframe&gt;&lt;/div&gt;
&lt;div style="TEXT-ALIGN:left;LINE-HEIGHT:1em;FONT-FAMILY:Arial, Helvetica, sans-serif;FLOAT:left;FONT-SIZE:14px;"&gt;
&lt;div class="g-plusone"&gt;&lt;/div&gt;&lt;/div&gt;
&lt;div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;
&lt;p&gt;While working on JavaScript Game in Windows 8 I got the below error when trying to run it from Visual Studio 11:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;font size="2"&gt;Error : DEP0600 : The following unexpected error occurred during deployment:        &lt;br /&gt;Illegal characters in path.         &lt;br /&gt;&amp;#160;&amp;#160; at System.IO.Path.CheckInvalidPathChars(String path, Boolean checkAdditional)         &lt;br /&gt;&amp;#160;&amp;#160; at System.IO.Path.Combine(String path1, String path2)         &lt;br /&gt;&amp;#160;&amp;#160; at Microsoft.VisualStudio.ImmersiveProjectServices.Shared.AppxLayoutManager.CheckPackageLayoutState(DeployPackageName deployPackageName, String location)         &lt;br /&gt;&amp;#160;&amp;#160; at Microsoft.VisualStudio.ImmersiveProjectServices.Shared.LocalDeployJob.GetLayoutState(DeployPackageName deployName, Boolean hasFrameworkDependencies)         &lt;br /&gt;&amp;#160;&amp;#160; at Microsoft.VisualStudio.ImmersiveProjectServices.Shared.RegisterAppxLayout.Start(Boolean forceNewLayout, Boolean forceRegistration, NetworkLoopbackState desiredNetworkLoopbackState, Boolean refreshLayoutOnly, String&amp;amp; packageMoniker, String&amp;amp; firstUserAppID, Exception&amp;amp; deployException)&lt;/font&gt; &lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;a href="http://blogs.microsoft.co.il/blogs/shair/01-04-2012-16-57-44_15155979.png"&gt;&lt;img title="01-04-2012 16-57-44" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="01-04-2012 16-57-44" src="http://blogs.microsoft.co.il/blogs/shair/01-04-2012-16-57-44_thumb_3CABAFD6.png" width="730" height="85" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;This error came after I copied the game files from a different machine to my new Windows 8 environment.&lt;/p&gt;  &lt;p&gt;After investigating the problem I found out that I need to change the App Guid or replace the package.appxmanifest.&lt;/p&gt;  &lt;p&gt;To generate a new GUID for your application you should open the “GUID Generator” that is part of the Windows SDK Tools.   &lt;br /&gt;You can find it here:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&amp;quot;C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\NETFX 4.0 Tools\guidgen.exe&amp;quot;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Choose “Registry Format, and copy the new guid.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.microsoft.co.il/blogs/shair/image_52B21B68.png"&gt;&lt;img title="image" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;margin:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="image" src="http://blogs.microsoft.co.il/blogs/shair/image_thumb_77CF65D4.png" width="380" height="395" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;In your solution, double click on the package.appxmanifest and navigate to “Packaging” tab and replace the old guid value with the new one you just created.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.microsoft.co.il/blogs/shair/image_26656EB7.png"&gt;&lt;img title="image" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="image" src="http://blogs.microsoft.co.il/blogs/shair/image_thumb_203E221C.png" width="755" height="217" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Enjoy&lt;/p&gt;&lt;img src="http://blogs.microsoft.co.il/aggbug.aspx?PostID=1051505" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/ShaiRaiten/~4/nub1Op4BDLw" height="1" width="1"/&gt;</description><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/Development/default.aspx">Development</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/DEV/default.aspx">DEV</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/Windows+8/default.aspx">Windows 8</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/Visual+Studio+11/default.aspx">Visual Studio 11</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/JavaScript/default.aspx">JavaScript</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/Metro/default.aspx">Metro</category><feedburner:origLink>http://blogs.microsoft.co.il/blogs/shair/archive/2012/04/01/windows-8-dep0600-the-following-unexpected-error-occurred-during-deployment.aspx</feedburner:origLink></item><item><title>Microsoft Test Manager 11 – Exploratory Testing</title><link>http://feedproxy.google.com/~r/ShaiRaiten/~3/yRa-zbjRp9g/microsoft-test-manager-11-exploratory-testing.aspx</link><pubDate>Wed, 14 Mar 2012 07:30:00 GMT</pubDate><guid isPermaLink="false">b5c4f5bc-c09b-4439-a595-91a98c1847df:1033113</guid><dc:creator>shair</dc:creator><slash:comments>3</slash:comments><wfw:commentRss>http://blogs.microsoft.co.il/blogs/shair/rsscomments.aspx?PostID=1033113</wfw:commentRss><comments>http://blogs.microsoft.co.il/blogs/shair/archive/2012/03/14/microsoft-test-manager-11-exploratory-testing.aspx#comments</comments><description>&lt;div class="share-buttons"&gt;
&lt;div style="TEXT-ALIGN:left;LINE-HEIGHT:1em;PADDING-RIGHT:15px;FONT-FAMILY:Arial, Helvetica, sans-serif;FLOAT:left;FONT-SIZE:14px;"&gt;&lt;a class="twitter-share-button" href="http://blogs.microsoft.co.il/blogs/shair/archive/2012/03/14/microsoft-test-manager-11-exploratory-testing.aspx"&gt;Tweet&lt;/a&gt;&lt;/div&gt;
&lt;div style="TEXT-ALIGN:left;LINE-HEIGHT:1em;PADDING-RIGHT:25px;FONT-FAMILY:Arial, Helvetica, sans-serif;FLOAT:left;FONT-SIZE:14px;"&gt;
&lt;script type="IN/Share"&gt;&lt;/script&gt;
&lt;/div&gt;
&lt;div style="TEXT-ALIGN:left;LINE-HEIGHT:1em;FONT-FAMILY:Arial, Helvetica, sans-serif;FLOAT:left;FONT-SIZE:14px;"&gt;&lt;iframe style="BORDER-BOTTOM:medium none;BORDER-LEFT:medium none;WIDTH:100px;HEIGHT:21px;OVERFLOW:hidden;BORDER-TOP:medium none;BORDER-RIGHT:medium none;" src="http://www.facebook.com/plugins/like.php?href=http://blogs.microsoft.co.il/blogs/shair/archive/2012/03/14/microsoft-test-manager-11-exploratory-testing.aspx&amp;amp;send=false&amp;amp;layout=button_count&amp;amp;width=450&amp;amp;show_faces=false&amp;amp;action=like&amp;amp;colorscheme=light&amp;amp;font=segoe+ui&amp;amp;height=21&amp;amp;appId=184186808308137" frameborder="0"&gt;&lt;/iframe&gt;&lt;/div&gt;
&lt;div style="TEXT-ALIGN:left;LINE-HEIGHT:1em;FONT-FAMILY:Arial, Helvetica, sans-serif;FLOAT:left;FONT-SIZE:14px;"&gt;
&lt;div class="g-plusone"&gt;&lt;/div&gt;&lt;/div&gt;
&lt;div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;
&lt;p&gt;The first thing I would like to talk about is &lt;strong&gt;Exploratory Testing, &lt;/strong&gt;I think this is one of the most important features for Microsoft Test Manager added in Visual Studio 11.&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;The most important bugs are usually found by unanticipated exploration of the application.      &lt;br /&gt;Visual Studio exploratory testing keeps a full log of your interaction with the software under test and allows you snip the log to show only the relevant sequence to illustrates the bug.       &lt;br /&gt;This can be combined with screenshots to show the exact problem at that point in the experience.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;a href="http://blogs.microsoft.co.il/blogs/shair/image_4D2DB0DC.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://blogs.microsoft.co.il/blogs/shair/image_thumb_6FC1C98A.png" width="745" height="368" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;The idea of Exploratory Testing is you don’t want to run a specific test case but explore the application, you can do monkey testing or any kind of test, and if you find a bug you want two things:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Create a bug that describe all the actions you did in order to reproduce this bug. &lt;/li&gt;    &lt;li&gt;Create a Test Case. &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;So when I start the Exploratory Testing you’ll get a familiar window of running a test case just without the steps.&amp;#160; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.microsoft.co.il/blogs/shair/image_132E4823.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://blogs.microsoft.co.il/blogs/shair/image_thumb_183085D2.png" width="213" height="350" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;You can start exploring your application and then click “Create Bug”, in my demo I just open windows calculator and click on some buttons and then I open notepad write some text and close notepad.&lt;/p&gt;  &lt;p&gt;Now, when I clicked the Create Bug, MTM collect all me actions to the bug description. (See picture below)&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.microsoft.co.il/blogs/shair/image_68263450.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://blogs.microsoft.co.il/blogs/shair/image_thumb_53C06EC5.png" width="728" height="580" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;You can modify the actions recorded by clicking the “Change Steps”, select the desire steps and click “Select”&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.microsoft.co.il/blogs/shair/image_7ACB083A.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://blogs.microsoft.co.il/blogs/shair/image_thumb_4D69726A.png" width="485" height="596" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Now, MTM show only the steps you select:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.microsoft.co.il/blogs/shair/image_3BC961D2.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://blogs.microsoft.co.il/blogs/shair/image_thumb_1A69BC36.png" width="572" height="335" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;You can also choose to create a Test Case from those Steps and the Test Case will contain your actions as Steps:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.microsoft.co.il/blogs/shair/image_68AE9EE0.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://blogs.microsoft.co.il/blogs/shair/image_thumb_3B4D0910.png" width="729" height="530" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.microsoft.co.il/aggbug.aspx?PostID=1033113" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/ShaiRaiten/~4/yRa-zbjRp9g" height="1" width="1"/&gt;</description><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/Testing/default.aspx">Testing</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/TECH/default.aspx">TECH</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/Visual+Studio+11/default.aspx">Visual Studio 11</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/Microsoft+Test+Manager+11/default.aspx">Microsoft Test Manager 11</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/MTM+11/default.aspx">MTM 11</category><feedburner:origLink>http://blogs.microsoft.co.il/blogs/shair/archive/2012/03/14/microsoft-test-manager-11-exploratory-testing.aspx</feedburner:origLink></item><item><title>Window 8 JavaScript–Asynchronous Programming &amp; App Storage</title><link>http://feedproxy.google.com/~r/ShaiRaiten/~3/GB9WBAEgS7Q/window-8-javascript-asynchronous-programming-amp-app-storage.aspx</link><pubDate>Wed, 07 Mar 2012 05:33:00 GMT</pubDate><guid isPermaLink="false">b5c4f5bc-c09b-4439-a595-91a98c1847df:1028504</guid><dc:creator>shair</dc:creator><slash:comments>3</slash:comments><wfw:commentRss>http://blogs.microsoft.co.il/blogs/shair/rsscomments.aspx?PostID=1028504</wfw:commentRss><comments>http://blogs.microsoft.co.il/blogs/shair/archive/2012/03/07/window-8-javascript-asynchronous-programming-amp-app-storage.aspx#comments</comments><description>&lt;div class="share-buttons"&gt;
&lt;div style="TEXT-ALIGN:left;LINE-HEIGHT:1em;PADDING-RIGHT:15px;FONT-FAMILY:Arial, Helvetica, sans-serif;FLOAT:left;FONT-SIZE:14px;"&gt;&lt;a class="twitter-share-button" href="http://blogs.microsoft.co.il/blogs/shair/archive/2012/03/07/window-8-javascript-asynchronous-programming-amp-app-storage.aspx"&gt;Tweet&lt;/a&gt;&lt;/div&gt;
&lt;div style="TEXT-ALIGN:left;LINE-HEIGHT:1em;PADDING-RIGHT:25px;FONT-FAMILY:Arial, Helvetica, sans-serif;FLOAT:left;FONT-SIZE:14px;"&gt;
&lt;script type="IN/Share"&gt;&lt;/script&gt;
&lt;/div&gt;
&lt;div style="TEXT-ALIGN:left;LINE-HEIGHT:1em;FONT-FAMILY:Arial, Helvetica, sans-serif;FLOAT:left;FONT-SIZE:14px;"&gt;&lt;iframe style="BORDER-BOTTOM:medium none;BORDER-LEFT:medium none;WIDTH:100px;HEIGHT:21px;OVERFLOW:hidden;BORDER-TOP:medium none;BORDER-RIGHT:medium none;" src="http://www.facebook.com/plugins/like.php?href=http://blogs.microsoft.co.il/blogs/shair/archive/2012/03/07/window-8-javascript-asynchronous-programming-amp-app-storage.aspx&amp;amp;send=false&amp;amp;layout=button_count&amp;amp;width=450&amp;amp;show_faces=false&amp;amp;action=like&amp;amp;colorscheme=light&amp;amp;font=segoe+ui&amp;amp;height=21&amp;amp;appId=184186808308137" frameborder="0"&gt;&lt;/iframe&gt;&lt;/div&gt;
&lt;div style="TEXT-ALIGN:left;LINE-HEIGHT:1em;FONT-FAMILY:Arial, Helvetica, sans-serif;FLOAT:left;FONT-SIZE:14px;"&gt;
&lt;div class="g-plusone"&gt;&lt;/div&gt;&lt;/div&gt;
&lt;div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;
&lt;p&gt;In this post I’m going to talk about WinJS.xhr that makes an XMLHttpRequest as a Promise, and how to save and load images and from your local storage.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;What is a Promise?&lt;/strong&gt;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;Promise&lt;/strong&gt; is a way for &lt;u&gt;Asynchronous Programming in JavaScript&lt;/u&gt;, Avoiding synchronous execution in single-threaded languages like JavaScript is necessary in order to create apps that are responsive and high performing. Windows Library for JavaScript provides a consistent and predictable mechanism called a Promise that simplifies asynchronous programming.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;A promise implements a method for registering callbacks for state change notifications, named &lt;i&gt;&lt;strong&gt;&lt;u&gt;then&lt;/u&gt;&lt;/strong&gt;&lt;/i&gt;.&lt;/p&gt;  &lt;p&gt;Instead of writing a single get action that force your code to wait for response.&lt;/p&gt;  &lt;pre class="code"&gt;&lt;span&gt;&lt;font color="#0000ff"&gt;&lt;font style="font-size:12pt;"&gt;var&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font style="font-size:12pt;"&gt; result = myWebService.get(http:&lt;/font&gt;&lt;span&gt;&lt;font style="font-size:12pt;" color="#006400"&gt;//www.contoso.com);&lt;/font&gt;&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;

&lt;pre&gt;&lt;font face="Verdana"&gt;Or if you think about writing more code like this:&lt;/font&gt;&lt;/pre&gt;

&lt;pre class="code"&gt;&lt;font style="font-size:12pt;"&gt;myWebService.addEventListener(&lt;span&gt;&lt;font color="#800000"&gt;&amp;#39;completed&amp;#39;&lt;/font&gt;&lt;/span&gt;, &lt;span&gt;&lt;font color="#0000ff"&gt;function&lt;/font&gt;&lt;/span&gt;(result) &lt;br /&gt;                                              { &lt;span&gt;&lt;font color="#006400"&gt;/* do something */&lt;/font&gt;&lt;/span&gt;});&lt;br /&gt;myWebService.get(http:&lt;/font&gt;&lt;span&gt;&lt;font style="font-size:12pt;" color="#006400"&gt;//www.contoso.com);&lt;/font&gt;&lt;/span&gt;&lt;/pre&gt;

&lt;pre&gt;&lt;font face="Verdana"&gt;You should use WinJS Promise to create Asynchronous action using &lt;strong&gt;&lt;u&gt;then&lt;/u&gt;&lt;/strong&gt; method.&lt;/font&gt;&lt;/pre&gt;

&lt;pre class="code"&gt;&lt;font style="font-size:12pt;"&gt;myWebService.get(&lt;span&gt;&lt;font color="#800000"&gt;&amp;quot;http://www.contoso.com&amp;quot;&lt;/font&gt;&lt;/span&gt;)&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; .then(&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span&gt;&lt;font color="#0000ff"&gt;function&lt;/font&gt;&lt;/span&gt; (result) { &lt;span&gt;&lt;font color="#006400"&gt;/* do something */&lt;/font&gt;&lt;/span&gt; },&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span&gt;&lt;font color="#0000ff"&gt;function&lt;/font&gt;&lt;/span&gt; (error) { &lt;span&gt;&lt;font color="#006400"&gt;/* handle error */&lt;/font&gt;&lt;/span&gt; },&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span&gt;&lt;font color="#0000ff"&gt;function&lt;/font&gt;&lt;/span&gt; (progress) { &lt;span&gt;&lt;font color="#006400"&gt;/* report progress */&lt;/font&gt;&lt;/span&gt; }&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; );&lt;/font&gt;&lt;/pre&gt;

&lt;p&gt;For this post I wrote a simple JavaScript Metro App that downloads web images and saves them to local storage and a gallery that display all images under App local storage.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://blogs.microsoft.co.il/blogs/shair/image_2B30E479.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://blogs.microsoft.co.il/blogs/shair/image_thumb_474E76D9.png" width="757" height="415" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://blogs.microsoft.co.il/files/folders/1028503/download.aspx" target="_blank"&gt;Download Demo Project&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;Step 1: Create a new Windows 8 JavaScript Metro App&lt;/h3&gt;

&lt;p&gt;First create empty JavaScript project and add new js file called - &lt;strong&gt;imgDownloader&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;We will use this file to download and locate the local images.&lt;/p&gt;

&lt;h3&gt;Step 2: Asynchronous Image Download &lt;/h3&gt;

&lt;p&gt;We need to download the image asynchronously, then save the stream we get to a local file.&lt;/p&gt;

&lt;p&gt;The first thing is the folder location, Each application has three available folders under - Windows.Storage.ApplicationData.current - to save user data:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Local &lt;/li&gt;

  &lt;li&gt;Temp &lt;/li&gt;

  &lt;li&gt;Roaming &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Now using WinJS.xhr we enter the image url and define the response type as “Blob”, again this is an Asynchronous method and we can use THEN in order to register a callback that will called when the request is finished.&lt;/p&gt;

&lt;p&gt;Once we get the result from Xhr we use the folder object to create new file with the name the user passed, again once the new file was created we open this file for editing and get the stream.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;u&gt;Code Flow:&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;&lt;font size="2"&gt;Using Ajax get the image = WinJS.xhr({ url: imgUrl, responseType: &lt;span&gt;&lt;font color="#800000"&gt;&amp;quot;blob&amp;quot;&lt;/font&gt;&lt;/span&gt; }).then &lt;/font&gt;&lt;/li&gt;

  &lt;li&gt;&lt;font size="2"&gt;After we received the image we create a new file = folder.createFileAsync(imgName,..).then &lt;/font&gt;&lt;/li&gt;

  &lt;li&gt;&lt;font size="2"&gt;Open our file for edit = file.openAsync(Windows.Storage.FileAccessMode.readWrite).then &lt;/font&gt;&lt;/li&gt;

  &lt;li&gt;&lt;font size="2"&gt;Copy the image content = copyAsync(blob.msDetachStream(), stream).then &lt;/font&gt;&lt;/li&gt;

  &lt;li&gt;&lt;span&gt;&lt;font color="#000000" size="2"&gt;Close stream = stream.flushAsync().then&lt;/font&gt;&lt;/span&gt; &lt;/li&gt;
&lt;/ol&gt;

&lt;pre class="code"&gt;&lt;span&gt;&lt;font color="#0000ff"&gt;&lt;font style="font-size:12pt;"&gt;function&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font style="font-size:12pt;"&gt; download(imgUrl, imgName) {&lt;br /&gt;&lt;span&gt;&lt;font color="#0000ff"&gt;return&lt;/font&gt;&lt;/span&gt; WinJS.xhr({ url: imgUrl, responseType: &lt;span&gt;&lt;font color="#800000"&gt;&amp;quot;blob&amp;quot;&lt;/font&gt;&lt;/span&gt; }).then(&lt;span&gt;&lt;font color="#0000ff"&gt;function&lt;/font&gt;&lt;/span&gt; &lt;br /&gt;                                                            (result) {&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span&gt;&lt;font color="#0000ff"&gt;var&lt;/font&gt;&lt;/span&gt; blob = result.response;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span&gt;&lt;font color="#0000ff"&gt;return&lt;/font&gt;&lt;/span&gt; folder.createFileAsync(imgName, Windows.Storage.&lt;br /&gt;           CreationCollisionOption.replaceExisting).then(&lt;span&gt;&lt;font color="#0000ff"&gt;function&lt;/font&gt;&lt;/span&gt; (file){&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span&gt;&lt;font color="#006400"&gt;// Open the returned file in order to copy the data&lt;/font&gt;&lt;/span&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span&gt;&lt;font color="#0000ff"&gt;return&lt;/font&gt;&lt;/span&gt; file.openAsync(Windows.Storage.FileAccessMode.readWrite).&lt;br /&gt;                                              then(&lt;span&gt;&lt;font color="#0000ff"&gt;function&lt;/font&gt;&lt;/span&gt; (stream) {&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span&gt;&lt;font color="#0000ff"&gt;return&lt;/font&gt;&lt;/span&gt; Windows.Storage.Streams.RandomAccessStream.copyAsync&lt;br /&gt;                   (blob.msDetachStream(), stream).then(&lt;span&gt;&lt;font color="#0000ff"&gt;function&lt;/font&gt;&lt;/span&gt; () {&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span&gt;&lt;font color="#006400"&gt;// Copy the stream from the blob to the File stream&lt;/font&gt;&lt;/span&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span&gt;&lt;font color="#0000ff"&gt;return&lt;/font&gt;&lt;/span&gt; stream.flushAsync().then(&lt;span&gt;&lt;font color="#0000ff"&gt;function&lt;/font&gt;&lt;/span&gt; () {&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; stream.close();&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; });&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; });&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; });&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; });&lt;br /&gt;}, &lt;span&gt;&lt;font color="#0000ff"&gt;function&lt;/font&gt;&lt;/span&gt; (e) {&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span&gt;&lt;font color="#0000ff"&gt;var&lt;/font&gt;&lt;/span&gt; msg = &lt;span&gt;&lt;font color="#0000ff"&gt;new&lt;/font&gt;&lt;/span&gt; Windows.UI.Popups.MessageDialog(e.message);&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; msg.showAsync();&lt;br /&gt;});&lt;br /&gt;}&lt;/font&gt;&lt;/pre&gt;

&lt;h3&gt;Step 3: Locate Local File&lt;/h3&gt;

&lt;p&gt;After the download has completed we want to locate the local file we just saved and return the file object, using the file object we can get the file type ,creation date and more.&lt;/p&gt;

&lt;p&gt;Using &lt;strong&gt;Windows.Storage.ApplicationData.current.local.getFileAsync&lt;/strong&gt; (or Temp, Roaming&amp;quot;) , we can search for a specific file under that folder, if the file is found in the local folder we return the file, else return null. (File Not Found)&lt;/p&gt;

&lt;pre class="code"&gt;&lt;span&gt;&lt;font color="#0000ff"&gt;&lt;font style="font-size:12pt;"&gt;function&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font style="font-size:12pt;"&gt; fileExists(fileName) {&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span&gt;&lt;font color="#0000ff"&gt;return&lt;/font&gt;&lt;/span&gt; folder.getFileAsync(fileName).then(&lt;span&gt;&lt;font color="#0000ff"&gt;function&lt;/font&gt;&lt;/span&gt; (file) {&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span&gt;&lt;font color="#0000ff"&gt;return&lt;/font&gt;&lt;/span&gt; file;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; }, &lt;span&gt;&lt;font color="#0000ff"&gt;function&lt;/font&gt;&lt;/span&gt; (err) {&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span&gt;&lt;font color="#0000ff"&gt;return&lt;/font&gt;&lt;/span&gt;&amp;#160;&lt;span&gt;&lt;font color="#0000ff"&gt;null&lt;/font&gt;&lt;/span&gt;;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; });&lt;br /&gt;}&lt;/font&gt;&lt;/pre&gt;

&lt;h3&gt;&lt;font size="3"&gt;Step 4: Add imgDownloader Namespace&lt;/font&gt; &lt;/h3&gt;

&lt;p&gt;In order to call these methods from Default.js we need to add the namespace using the following methods:&lt;/p&gt;

&lt;pre class="code"&gt;&lt;font style="font-size:12pt;"&gt;WinJS.Namespace.define(&lt;span&gt;&lt;font color="#800000"&gt;&amp;#39;imgDownloader&amp;#39;&lt;/font&gt;&lt;/span&gt;, {&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; download: download,&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; fileExists: fileExists&lt;br /&gt;});&lt;/font&gt;&lt;/pre&gt;

&lt;h3&gt;Step 5: Add page functionality&lt;/h3&gt;

&lt;p&gt;Now, when the user writes the image Uri and clicks the “Get Image” button we’ll call the getImage function.&lt;/p&gt;

&lt;pre class="code"&gt;&lt;font style="font-size:12pt;"&gt;app.onactivated = &lt;span&gt;&lt;font color="#0000ff"&gt;function&lt;/font&gt;&lt;/span&gt; (eventObject) {&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span&gt;&lt;font color="#0000ff"&gt;if&lt;/font&gt;&lt;/span&gt; (eventObject.detail.kind === Windows.ApplicationModel.Activation.&lt;br /&gt;                                                ActivationKind.launch) {&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span&gt;&lt;font color="#006400"&gt;// &lt;/font&gt;&lt;/span&gt;&lt;span&gt;&lt;font color="#00008b"&gt;&lt;strong&gt;TODO: Initialize your application here.&lt;/strong&gt;&lt;/font&gt;&lt;/span&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; WinJS.UI.processAll();&lt;br /&gt; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; document.querySelector(&lt;span&gt;&lt;font color="#800000"&gt;&amp;quot;#btnDownloadImg&amp;quot;&lt;/font&gt;&lt;/span&gt;).addEventListener(&lt;span&gt;&lt;font color="#800000"&gt;&amp;quot;click&amp;quot;&lt;br /&gt;      &lt;/font&gt;&lt;/span&gt;, &lt;span&gt;&lt;font color="#0000ff"&gt;function&lt;/font&gt;&lt;/span&gt; () {&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; getImage();&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; });&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; };&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;

&lt;p&gt;using querySelector we’ll take the Uri and File Name values, using the &lt;strong&gt;imgDownloader&lt;/strong&gt; namespace and call Download function using the user supplied values. Because the &lt;strong&gt;&lt;u&gt;download&lt;/u&gt;&lt;/strong&gt; function has a callback value we can use the &lt;strong&gt;&lt;u&gt;then&lt;/u&gt;&lt;/strong&gt; method. &lt;/p&gt;

&lt;p&gt;After the download operation has completed we call the &lt;strong&gt;fileExists&lt;/strong&gt; function to get the local file object.&lt;/p&gt;

&lt;p&gt;After getting the Image we demonstrate two options for displaying the image:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;&amp;#160;&lt;strong&gt;ms-appdata://&lt;/strong&gt; protocol – Path To Local Folder &lt;/li&gt;

  &lt;li&gt;&lt;strong&gt;URL.createObjectURL&lt;/strong&gt; – Converting the file to blob, you can choose to create permanent blob so you can use it again. &lt;/li&gt;
&lt;/ol&gt;

&lt;pre class="code"&gt;&lt;span&gt;&lt;font color="#0000ff"&gt;&lt;font style="font-size:12pt;"&gt;function&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font style="font-size:12pt;"&gt; getImage() {&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span&gt;&lt;font color="#0000ff"&gt;var&lt;/font&gt;&lt;/span&gt; imgUrl = document.querySelector(&lt;span&gt;&lt;font color="#800000"&gt;&amp;quot;#txtUrl&amp;quot;&lt;/font&gt;&lt;/span&gt;).value;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span&gt;&lt;font color="#0000ff"&gt;var&lt;/font&gt;&lt;/span&gt; fileName = document.querySelector(&lt;span&gt;&lt;font color="#800000"&gt;&amp;quot;#txtFileName&amp;quot;&lt;/font&gt;&lt;/span&gt;).value;&lt;br /&gt; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; imgDownloader.download(imgUrl,&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; fileName).then(&lt;span&gt;&lt;font color="#0000ff"&gt;function&lt;/font&gt;&lt;/span&gt; () {&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; imgDownloader.fileExists(fileName).then(&lt;span&gt;&lt;font color="#0000ff"&gt;function&lt;/font&gt;&lt;/span&gt; (file) {&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; document.querySelector(&lt;span&gt;&lt;font color="#800000"&gt;&amp;quot;#mainImg&amp;quot;&lt;/font&gt;&lt;/span&gt;).src = &lt;br /&gt;                                     URL.createObjectURL(file, &lt;span&gt;&lt;font color="#0000ff"&gt;false&lt;/font&gt;&lt;/span&gt;);&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span&gt;&lt;font color="#006400"&gt;// using the ms-appdata:// protocol.&lt;/font&gt;&lt;/span&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; document.querySelector(&lt;span&gt;&lt;font color="#800000"&gt;&amp;quot;#mainImg2&amp;quot;&lt;/font&gt;&lt;/span&gt;).src = &lt;br /&gt;                                    &lt;span&gt;&lt;font color="#800000"&gt;&amp;quot;ms-appdata:///Local/&amp;quot;&lt;/font&gt;&lt;/span&gt; + fileName;&lt;br /&gt; &lt;br /&gt; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; document.querySelector(&lt;span&gt;&lt;font color="#800000"&gt;&amp;quot;#filePath&amp;quot;&lt;/font&gt;&lt;/span&gt;).textContent = &lt;br /&gt;                                     &lt;span&gt;&lt;font color="#800000"&gt;&amp;quot;Path: &amp;quot;&lt;/font&gt;&lt;/span&gt; + file.path;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; document.querySelector(&lt;span&gt;&lt;font color="#800000"&gt;&amp;quot;#fileType&amp;quot;&lt;/font&gt;&lt;/span&gt;).textContent = &lt;br /&gt;                                     &lt;span&gt;&lt;font color="#800000"&gt;&amp;quot;Display Type: &amp;quot;&lt;/font&gt;&lt;/span&gt; + file.displayType;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; document.querySelector(&lt;span&gt;&lt;font color="#800000"&gt;&amp;quot;#dateCreated&amp;quot;&lt;/font&gt;&lt;/span&gt;).textContent = &lt;br /&gt;                                     &lt;span&gt;&lt;font color="#800000"&gt;&amp;quot;Date Created: &amp;quot;&lt;/font&gt;&lt;/span&gt; + file.dateCreated;&lt;br /&gt; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; drawGallery();&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }, &lt;span&gt;&lt;font color="#0000ff"&gt;function&lt;/font&gt;&lt;/span&gt; (err) {&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span&gt;&lt;font color="#0000ff"&gt;var&lt;/font&gt;&lt;/span&gt; msg = &lt;span&gt;&lt;font color="#0000ff"&gt;new&lt;/font&gt;&lt;/span&gt; Windows.UI.Popups.MessageDialog&lt;br /&gt;                                                  (&lt;span&gt;&lt;font color="#800000"&gt;&amp;quot;Picture Not Found&amp;quot;&lt;/font&gt;&lt;/span&gt;);&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; msg.showAsync();&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; });&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; });&lt;br /&gt;}&lt;/font&gt;&lt;/pre&gt;

&lt;p&gt;The last thing I want to do is locate all files under my local folder and display all image files.&lt;/p&gt;

&lt;p&gt;Again we’ll use Windows.Storage.ApplicationData.current.localFolder but now let’s call “&lt;strong&gt;getItemsAsync&lt;/strong&gt;” to get all files, then forEach over these items and make sure to handle only images, convert each file to a blob using createObjectURL and add the image to our gallery div.&lt;/p&gt;

&lt;pre class="code"&gt;&lt;span&gt;&lt;font color="#0000ff"&gt;&lt;font style="font-size:12pt;"&gt;function&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font style="font-size:12pt;"&gt; drawGallery() {&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; Windows.Storage.ApplicationData.current.localFolder.getItemsAsync().&lt;br /&gt;       then(&lt;span&gt;&lt;font color="#0000ff"&gt;function&lt;/font&gt;&lt;/span&gt; (items) {&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span&gt;&lt;font color="#0000ff"&gt;var&lt;/font&gt;&lt;/span&gt; div = document.querySelector(&lt;span&gt;&lt;font color="#800000"&gt;&amp;quot;#existingFiles&amp;quot;&lt;/font&gt;&lt;/span&gt;);&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; div.textContent =  &lt;span&gt;&lt;font color="#800000"&gt;&amp;quot;&amp;quot;&lt;/font&gt;&lt;/span&gt;;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; items.forEach(&lt;span&gt;&lt;font color="#0000ff"&gt;function&lt;/font&gt;&lt;/span&gt; (storageItem) {&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span&gt;&lt;font color="#0000ff"&gt;if&lt;/font&gt;&lt;/span&gt; (storageItem.fileType === &lt;span&gt;&lt;font color="#800000"&gt;&amp;quot;.png&amp;quot;&lt;/font&gt;&lt;/span&gt; || &lt;br /&gt;                storageItem.fileType === &lt;span&gt;&lt;font color="#800000"&gt;&amp;quot;.jpg&amp;quot;&lt;/font&gt;&lt;/span&gt; || &lt;br /&gt;                storageItem.fileType === &lt;span&gt;&lt;font color="#800000"&gt;&amp;quot;.jpeg&amp;quot;&lt;/font&gt;&lt;/span&gt;) {&lt;br /&gt; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span&gt;&lt;font color="#0000ff"&gt;var&lt;/font&gt;&lt;/span&gt; image = document.createElement(&lt;span&gt;&lt;font color="#800000"&gt;&amp;quot;img&amp;quot;&lt;/font&gt;&lt;/span&gt;);&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; image.style.width = &lt;span&gt;&lt;font color="#800000"&gt;&amp;quot;100px&amp;quot;&lt;/font&gt;&lt;/span&gt;;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; image.style.height = &lt;span&gt;&lt;font color="#800000"&gt;&amp;quot;100px&amp;quot;&lt;/font&gt;&lt;/span&gt;;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; image.src = URL.createObjectURL(storageItem);&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; image.alt = image.src;&lt;br /&gt; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; div.appendChild(image);&lt;br /&gt; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }, &lt;span&gt;&lt;font color="#0000ff"&gt;function&lt;/font&gt;&lt;/span&gt; (e) {&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span&gt;&lt;font color="#0000ff"&gt;var&lt;/font&gt;&lt;/span&gt; msg = &lt;span&gt;&lt;font color="#0000ff"&gt;new&lt;/font&gt;&lt;/span&gt; Windows.UI.Popups.MessageDialog(e);&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; msg.showAsync();&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; });&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; });&lt;br /&gt;}&lt;/font&gt;&lt;/pre&gt;

&lt;p&gt;&lt;a href="http://blogs.microsoft.co.il/files/folders/1028503/download.aspx" target="_blank"&gt;Download Demo Project&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.microsoft.co.il/aggbug.aspx?PostID=1028504" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/ShaiRaiten/~4/GB9WBAEgS7Q" height="1" width="1"/&gt;</description><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/Development/default.aspx">Development</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/TECH/default.aspx">TECH</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/DEV/default.aspx">DEV</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/Metro+Style/default.aspx">Metro Style</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/Windows+8/default.aspx">Windows 8</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/Visual+Studio+11/default.aspx">Visual Studio 11</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/.NET+4.5/default.aspx">.NET 4.5</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/JavaScript/default.aspx">JavaScript</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/Metro/default.aspx">Metro</category><feedburner:origLink>http://blogs.microsoft.co.il/blogs/shair/archive/2012/03/07/window-8-javascript-asynchronous-programming-amp-app-storage.aspx</feedburner:origLink></item></channel></rss>

