<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/atom.xsl" media="screen"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-US"><title type="html">Meng-Ru Tsai&amp;#39;s Blog</title><subtitle type="html">still thinking</subtitle><id>http://blogs.msdn.com/b/mengtsai/atom.aspx</id><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/mengtsai/" /><link rel="self" type="application/atom+xml" href="http://blogs.msdn.com/b/mengtsai/atom.aspx" /><generator uri="http://telligent.com" version="5.6.50428.7875">Telligent Evolution Platform Developer Build (Build: 5.6.50428.7875)</generator><updated>2013-03-12T11:08:10Z</updated><entry><title>在註冊 Windows Store 帳號時卡住嗎? App 上傳很久還沒審核嗎? 怎麼我收到的錢不如我預期的多?</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/mengtsai/archive/2013/06/18/windows-store-app-1.aspx" /><id>http://blogs.msdn.com/b/mengtsai/archive/2013/06/18/windows-store-app-1.aspx</id><published>2013-06-18T04:35:34Z</published><updated>2013-06-18T04:35:34Z</updated><content type="html">&lt;h4&gt;如果您有以上的疑問，或是在 Windows Store 上有任何註冊、開發、上傳、收費等其他問題，除了到論壇問問看是否已有解答之外，建議大家可直接到以下網站作詢問:&lt;/h4&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h1&gt;&lt;a href="http://getsupport.microsoft.com"&gt;http://getsupport.microsoft.com&lt;/a&gt;&lt;/h1&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h4&gt;會得到微軟官方技術服務團隊的回答及支援!&lt;/h4&gt;  &lt;h4&gt;&amp;#160;&lt;/h4&gt;  &lt;h4&gt;有各種問題類型供選擇:&lt;/h4&gt;  &lt;h4&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-36-93-metablogapi/4442.image_5F00_50CC1DC2.png"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-36-93-metablogapi/2678.image_5F00_thumb_5F00_7BA71285.png" width="503" height="484" /&gt;&lt;/a&gt;&lt;/h4&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h4&gt;之後選擇類別，「應用程式提交和憑證」類:&lt;/h4&gt;  &lt;h4&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-36-93-metablogapi/3683.image_5F00_1F62CAD1.png"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-36-93-metablogapi/6355.image_5F00_thumb_5F00_4AA9F289.png" width="500" height="484" /&gt;&lt;/a&gt;&lt;/h4&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h4&gt;「Windows 市集註冊和您的帳戶」類:&lt;/h4&gt;  &lt;h4&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-36-93-metablogapi/5241.image_5F00_40E48B11.png"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-36-93-metablogapi/3124.image_5F00_thumb_5F00_6982F718.png" width="464" height="484" /&gt;&lt;/a&gt;&lt;/h4&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h4&gt;我個人最常使用的是使用 email 電子郵件，通常 24 小時內就會收到回覆。&lt;/h4&gt;  &lt;h4&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-36-93-metablogapi/8357.image_5F00_26A6B29E.png"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-36-93-metablogapi/2425.image_5F00_thumb_5F00_2B1FC416.png" width="511" height="484" /&gt;&lt;/a&gt;&lt;/h4&gt;  &lt;h4&gt;&amp;#160;&lt;/h4&gt;  &lt;h4&gt;以電子郵件詢問:&lt;/h4&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-36-93-metablogapi/4527.1_5F00_013F4FE1.png"&gt;&lt;img title="圖片1" style="display: inline; background-image: none;" border="0" alt="圖片1" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-36-93-metablogapi/0184.1_5F00_thumb_5F00_6C505E1E.png" width="644" height="447"&gt;&amp;#160;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10426590" width="1" height="1"&gt;</content><author><name>mengruts</name><uri>http://blogs.msdn.com/mengruts/ProfileUrlRedirect.ashx</uri></author><category term="Windows 8" scheme="http://blogs.msdn.com/b/mengtsai/archive/tags/Windows+8/" /><category term="Windows Store" scheme="http://blogs.msdn.com/b/mengtsai/archive/tags/Windows+Store/" /><category term="稅金檔" scheme="http://blogs.msdn.com/b/mengtsai/archive/tags/_057AD191946A_/" /><category term="上架" scheme="http://blogs.msdn.com/b/mengtsai/archive/tags/_0A4EB667_/" /><category term="註冊" scheme="http://blogs.msdn.com/b/mengtsai/archive/tags/_3B8A8A51_/" /><category term="審核" scheme="http://blogs.msdn.com/b/mengtsai/archive/tags/_E95B3868_/" /></entry><entry><title>將 Semantic Zoom 加入格線 (Grid) 應用程式</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/mengtsai/archive/2013/05/31/semantic-zoom-grid.aspx" /><id>http://blogs.msdn.com/b/mengtsai/archive/2013/05/31/semantic-zoom-grid.aspx</id><published>2013-05-31T19:17:04Z</published><updated>2013-05-31T19:17:04Z</updated><content type="html">&lt;h4&gt;&lt;strong&gt;&lt;a href="http://msdn.microsoft.com/library/windows/apps/Hh702601" target="_blank"&gt;SemanticZoom&lt;/a&gt;&lt;/strong&gt; 控制項，可以讓使用者在兩個不同檢視 (GridView 或 ListView) 間切換。第一個會是內容的主要檢視，而第二個檢視雖與第一個檢視的內容相同，但是可以讓使用者能快速瀏覽其內容。例如，檢視通訊錄時，使用者可以放大字母，然後查看與該字母相關的名稱。&lt;/h4&gt;  &lt;h4&gt;&lt;img src="http://ww1.prweb.com/prfiles/2012/06/05/9578381/Pinch-to-Zoom.png" width="640" height="427" /&gt;&lt;/h4&gt;  &lt;h4&gt;&lt;font size="1"&gt;(圖片來源: &lt;/font&gt;&lt;a title="http://ww1.prweb.com/prfiles/2012/06/05/9578381/Pinch-to-Zoom.png" href="http://ww1.prweb.com/prfiles/2012/06/05/9578381/Pinch-to-Zoom.png"&gt;&lt;font size="1"&gt;http://ww1.prweb.com/prfiles/2012/06/05/9578381/Pinch-to-Zoom.png&lt;/font&gt;&lt;/a&gt;&lt;font size="1"&gt;)&lt;/font&gt;&lt;/h4&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h4&gt;本篇文章的目的，是要在 Visual Studio 2012 內建的「格線應用程式 」(Grid App) 模版中，加入 Semantic Zoom 的功能。&lt;/h4&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h4&gt;我們先來了解一下 SemanticZoom 這個控制項的用法，在一個空白專案裡，把 SemanticZoom 拉到 Main.xaml 中來:&lt;/h4&gt;  &lt;h4&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-36-93-metablogapi/7774.image_5F00_1A1FFF1E.png"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-36-93-metablogapi/4186.image_5F00_thumb_5F00_10C6CA9B.png" width="244" height="171" /&gt;&lt;/a&gt;&lt;/h4&gt;  &lt;h4&gt;檢查一下所產生出來的 XAML 檔，可以看到它的結構很簡單，包含了兩種不同的檢視方法 (&lt;strong&gt;ZoomedIn&lt;/strong&gt;View 及 &lt;strong&gt;ZoomedIOut&lt;/strong&gt;View)，而每種檢視可以處理 GridView 或是 List View 控制項:&lt;/h4&gt;  &lt;h4&gt;&lt;code&gt;&lt;/code&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-36-93-metablogapi/6661.image_5F00_0E209F9B.png"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-36-93-metablogapi/7140.image_5F00_thumb_5F00_0F84C26D.png" width="644" height="342" /&gt;&lt;/a&gt;&lt;/h4&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h4&gt;我們先來試一段簡單的程式來看看它是如何運作的，貼上以下的程式碼:&lt;/h4&gt;  &lt;h4&gt;&lt;font size="2"&gt; &amp;lt;SemanticZoom Grid.Row=&lt;span class="str"&gt;&amp;quot;1&amp;quot;&lt;/span&gt; Name=&lt;span class="str"&gt;&amp;quot;SemanticZoomData&amp;quot;&lt;/span&gt;&amp;gt; &lt;/font&gt;&lt;/h4&gt;  &lt;h4&gt;&lt;font size="2"&gt;&lt;font style="font-weight: bold;"&gt;&amp;lt;SemanticZoom.ZoomedInView&amp;gt; &lt;/font&gt;&lt;/font&gt;&lt;/h4&gt;  &lt;blockquote&gt;   &lt;h4&gt;&lt;strong&gt;&lt;font color="#ff0000" size="2"&gt;&amp;lt;ListView&amp;gt; &lt;/font&gt;&lt;/strong&gt;&lt;/h4&gt;    &lt;h4&gt;&lt;strong&gt;&lt;font color="#ff0000" size="2"&gt;&amp;lt;ListViewItem&amp;gt;阿里山&amp;lt;/ListViewItem&amp;gt; &lt;/font&gt;&lt;/strong&gt;&lt;/h4&gt;    &lt;h4&gt;&lt;strong&gt;&lt;font color="#ff0000" size="2"&gt;&amp;lt;ListViewItem&amp;gt;陽明山&amp;lt;/ListViewItem&amp;gt; &lt;/font&gt;&lt;/strong&gt;&lt;/h4&gt;    &lt;h4&gt;&lt;strong&gt;&lt;font color="#ff0000" size="2"&gt;&amp;lt;ListViewItem&amp;gt;玉山&amp;lt;/ListViewItem&amp;gt; &lt;/font&gt;&lt;/strong&gt;&lt;/h4&gt;    &lt;h4&gt;&lt;strong&gt;&lt;font color="#ff0000" size="2"&gt;&amp;lt;ListViewItem&amp;gt;合歡山&amp;lt;/ListViewItem&amp;gt; &lt;/font&gt;&lt;/strong&gt;&lt;/h4&gt;    &lt;h4&gt;&lt;font size="2"&gt;&lt;strong&gt;&lt;font color="#ff0000"&gt;&amp;lt;/ListView&amp;gt;&lt;/font&gt;&lt;/strong&gt; &lt;/font&gt;&lt;/h4&gt; &lt;/blockquote&gt;  &lt;h4&gt;&lt;font size="2"&gt;&lt;font style="font-weight: bold;"&gt;&amp;lt;/SemanticZoom.ZoomedInView&amp;gt; &lt;/font&gt;&lt;/font&gt;&lt;/h4&gt; &lt;strong&gt;&lt;/strong&gt;  &lt;h4&gt;&lt;font size="2"&gt;&lt;font style="font-weight: bold;"&gt;&amp;lt;SemanticZoom.ZoomedOutView&amp;gt;&lt;/font&gt; &lt;/font&gt;&lt;/h4&gt;  &lt;blockquote&gt;   &lt;h4&gt;&lt;font color="#ff0000" size="2"&gt;&lt;strong&gt;&amp;lt;ListView&amp;gt; &lt;/strong&gt;&lt;/font&gt;&lt;/h4&gt;    &lt;h4&gt;&lt;font color="#ff0000" size="2"&gt;&lt;strong&gt;&amp;lt;ListViewItem&amp;gt;1&amp;lt;/ListViewItem&amp;gt; &lt;/strong&gt;&lt;/font&gt;&lt;/h4&gt;    &lt;h4&gt;&lt;font color="#ff0000" size="2"&gt;&lt;strong&gt;&amp;lt;ListViewItem&amp;gt;2&amp;lt;/ListViewItem&amp;gt; &lt;/strong&gt;&lt;/font&gt;&lt;/h4&gt;    &lt;h4&gt;&lt;font color="#ff0000" size="2"&gt;&lt;strong&gt;&amp;lt;ListViewItem&amp;gt;3&amp;lt;/ListViewItem&amp;gt; &lt;/strong&gt;&lt;/font&gt;&lt;/h4&gt;    &lt;h4&gt;&lt;font color="#ff0000" size="2"&gt;&lt;strong&gt;&amp;lt;ListViewItem&amp;gt;4&amp;lt;/ListViewItem&amp;gt; &lt;/strong&gt;&lt;/font&gt;&lt;/h4&gt;    &lt;h4&gt;&lt;font size="2"&gt;&lt;font color="#ff0000"&gt;&lt;strong&gt;&amp;lt;/ListView&amp;gt;&lt;/strong&gt;&lt;/font&gt; &lt;/font&gt;&lt;/h4&gt; &lt;/blockquote&gt;  &lt;h4&gt;&lt;font size="2"&gt;&lt;font style="font-weight: bold;"&gt;&amp;lt;/SemanticZoom.ZoomedOutView&amp;gt;&lt;/font&gt; &lt;/font&gt;&lt;/h4&gt;  &lt;h4&gt;&lt;font size="2"&gt;&amp;lt;/SemanticZoom&amp;gt;&lt;/font&gt;&lt;/h4&gt;  &lt;h4&gt;&lt;/h4&gt;  &lt;h4&gt;執行的結果會如以下，使用者即可以在兩個 ListView 之間 Zoom in &amp;amp; out 來作切換:&lt;/h4&gt;  &lt;h4&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-36-93-metablogapi/8547.image_5F00_1157A8E5.png"&gt;&lt;img title="image" style="margin: 0px; display: inline; background-image: none;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-36-93-metablogapi/1541.image_5F00_thumb_5F00_6C59E86B.png" width="244" height="155" /&gt;&lt;/a&gt;&lt;/h4&gt;  &lt;h4&gt;當然以上的範例並沒有什麼實質意義，但能讓大家很快了解 SemanticZoom 的結構，及其可以產生的效果。&lt;/h4&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h4&gt;接下來，就要實際在 Vistual Studio 2012 內建的格線 (Grid) 應用程式模版中，加入 Semantic Zoom 的功能了。以下是我最後想呈現出來的效果:&lt;/h4&gt;  &lt;h4&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-36-93-metablogapi/2577.image_5F00_2E6057AD.png"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-36-93-metablogapi/5807.image_5F00_thumb_5F00_44B5FCF2.png" width="644" height="169" /&gt;&lt;/a&gt;&lt;/h4&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h4&gt;1. 首先開啟「格線應用程式 (XAML)」 範本，並打開 GroupedItemsPage.xaml 檔: (之後所有的修改都僅發生在這個檔案之中)&lt;/h4&gt;  &lt;h4&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-36-93-metablogapi/4188.image_5F00_3B5CC86F.png"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-36-93-metablogapi/2821.image_5F00_thumb_5F00_4D3BECED.png" width="644" height="221" /&gt;&lt;/a&gt;&lt;/h4&gt;  &lt;h4&gt;GroupedItemsPage.xaml 檔:&lt;/h4&gt;  &lt;h4&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-36-93-metablogapi/6114.image_5F00_37749541.png"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-36-93-metablogapi/8463.image_5F00_thumb_5F00_6D7BA4FF.png" width="644" height="344" /&gt;&lt;/a&gt;&lt;/h4&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h4&gt;2. 先來檢視一下此檔的 XAML 結構，利用左側 +, - 符號，我們可以看到此頁面的 UI 結構如下；其中的 GridView 檢視是我們要處理的部份。&lt;/h4&gt;  &lt;h4&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-36-93-metablogapi/4621.image_5F00_3805738B.png"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-36-93-metablogapi/3122.image_5F00_thumb_5F00_0537FDC8.png" width="644" height="350" /&gt;&lt;/a&gt;&lt;/h4&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h4&gt;3. 將 SemanticZoom 拉入後，複製一份 GridView 區塊，再分別放置於 &lt;strong&gt;ZoomedIn&lt;/strong&gt;View 及 &lt;strong&gt;ZoomedIOut&lt;/strong&gt;View 的區段中: (這步驟非常重要，請特別注意其相對位置)&lt;/h4&gt;  &lt;h4&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-36-93-metablogapi/6622.image_5F00_768FE293.png"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-36-93-metablogapi/1222.image_5F00_thumb_5F00_5CBE3D15.png" width="644" height="270" /&gt;&lt;/a&gt;&lt;/h4&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h4&gt;4. 由於我們是將原有的 GridView 全部複製，故需重新命名其中一個的 x:Name 值，否則會有 Compiler time error:&lt;/h4&gt;  &lt;h4&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-36-93-metablogapi/2313.image_5F00_42EC9797.png"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-36-93-metablogapi/5808.image_5F00_thumb_5F00_528F3359.png" width="644" height="173" /&gt;&lt;/a&gt;&lt;/h4&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h4&gt;5. 請嘗試執行看看，您預期會有什麼結果呢? 由於兩個 GridView 是一模一樣的，所以你無論怎麼 Zoom in、Zoom out．看到的都會是兩個完全相同的檢視。&lt;/h4&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h4&gt;6. 接下來，我們就要修改其中的一個檢視囉! 由於我想作的是在第二個檢視裡，呈現 Group 名稱的大按鈕，所以我們先打開 ZoomedOutView 所處理的那個 GridView，找到 Button 區塊，新增/改變如下的幾項設定: (Margin 的間距設為30、Height=&amp;quot;600&amp;quot; 、Background=&amp;quot;BlueViolet&amp;quot; 及 VerticalAlignment=&amp;quot;Center&amp;quot;)&lt;/h4&gt;  &lt;h4&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-36-93-metablogapi/2727.image_5F00_3681051F.png"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-36-93-metablogapi/4667.image_5F00_thumb_5F00_0F494C9B.png" width="644" height="282" /&gt;&lt;/a&gt;&lt;/h4&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h4&gt;7. 再於同一個 GridView 的 ItemsPanelTemplate 區段中，加上 Visibility=&amp;quot;Collapsed&amp;quot;， 以令各個 Group 裡的 Item(s) 不要出現在畫面上:&lt;/h4&gt;  &lt;h4&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-36-93-metablogapi/0804.image_5F00_12E9F829.png"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-36-93-metablogapi/6138.image_5F00_thumb_5F00_673BBEDD.png" width="644" height="232" /&gt;&lt;/a&gt;&amp;#160;&lt;/h4&gt;  &lt;h4&gt;&amp;#160;&lt;/h4&gt;  &lt;h4&gt;這樣就完成囉!&lt;/h4&gt;  &lt;h4&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-36-93-metablogapi/0702.image_5F00_767227AA.png"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-36-93-metablogapi/8640.image_5F00_thumb_5F00_618335E8.png" width="644" height="364" /&gt;&lt;/a&gt;&lt;/h4&gt;  &lt;h4&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-36-93-metablogapi/6052.image_5F00_510AC4ED.png"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-36-93-metablogapi/8561.image_5F00_thumb_5F00_7C51ECA5.png" width="644" height="364" /&gt;&lt;/a&gt;&lt;/h4&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h4&gt;&lt;a href="http://sdrv.ms/11gHCEm" target="_blank"&gt;&lt;font size="4"&gt;完整程式碼下載&lt;/font&gt;&lt;/a&gt;&lt;/h4&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10422724" width="1" height="1"&gt;</content><author><name>mengruts</name><uri>http://blogs.msdn.com/mengruts/ProfileUrlRedirect.ashx</uri></author><category term="Windows 8" scheme="http://blogs.msdn.com/b/mengtsai/archive/tags/Windows+8/" /><category term="Windows Store" scheme="http://blogs.msdn.com/b/mengtsai/archive/tags/Windows+Store/" /><category term="Grid" scheme="http://blogs.msdn.com/b/mengtsai/archive/tags/Grid/" /><category term="Semantic Zoom" scheme="http://blogs.msdn.com/b/mengtsai/archive/tags/Semantic+Zoom/" /><category term="GridView" scheme="http://blogs.msdn.com/b/mengtsai/archive/tags/GridView/" /><category term="ListView" scheme="http://blogs.msdn.com/b/mengtsai/archive/tags/ListView/" /></entry><entry><title>Logo 製造機- 適用於Windows Store App 及 Windows Phone 8 App</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/mengtsai/archive/2013/05/28/logo-windows-store-app-windows-phone-8-app.aspx" /><id>http://blogs.msdn.com/b/mengtsai/archive/2013/05/28/logo-windows-store-app-windows-phone-8-app.aspx</id><published>2013-05-28T12:50:03Z</published><updated>2013-05-28T12:50:03Z</updated><content type="html">&lt;h4&gt;之前曾介紹過一個 &lt;a href="http://blogs.msdn.com/b/mengtsai/archive/2013/01/24/logos-metro-studio.aspx" target="_blank"&gt;Metro Studio&lt;/a&gt;，可以來製作 Windows 8 App Logo，最近發現一個同樣免費、免安裝且操作更方便的工具，不但可以一次製作出適用於 Windows Store App 及 Windows Phone 8 App 的 Logo，還可以直接使&lt;/h4&gt;  &lt;h4&gt;用既有的圖檔來製作。&lt;/h4&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h4&gt;檔案下載: &lt;a href="http://bit.ly/storelogomaker"&gt;http://bit.ly/storelogomaker&lt;/a&gt; (作者是日本微軟的員工)&lt;/h4&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h4&gt;&lt;font color="#260859" face="Segoe UI Semibold"&gt;操作方式超簡單! 下載解壓後，只要直接執行其 .exe 檔，然後將任一圖檔拉入中央:&lt;/font&gt;&lt;/h4&gt;  &lt;h4&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-36-93-metablogapi/2210.image_5F00_112FE1C3.png"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-36-93-metablogapi/8814.image_5F00_thumb_5F00_0D02B7A6.png" width="644" height="421" /&gt;&lt;/a&gt;&lt;/h4&gt;  &lt;h4&gt;接下來可以直接按下右上角那個「Save Icons」的按鈕，所有相對應的 Logo 圖檔就產生了! (您也可以選擇背景顏色或加框)&lt;/h4&gt;  &lt;h4&gt;瀏覽一下所產生的圖檔，可以看到有各種尺寸的 Logos 供您使用:&lt;/h4&gt;  &lt;h4&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-36-93-metablogapi/4150.image_5F00_696E3B60.png"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-36-93-metablogapi/5582.image_5F00_thumb_5F00_38DABDA8.png" width="419" height="450" /&gt;&lt;/a&gt;&lt;/h4&gt;  &lt;h4&gt;以 Windows Store Apps 為例，預設是至少需要150x150 (標誌), 30x30 (小標誌), 50x50 (市集標誌) 及 620x300 (啟動顯示畫面) 等4種 Logos，而其預設檔名如以下:&lt;/h4&gt;  &lt;h4&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-36-93-metablogapi/5516.image_5F00_363492A8.png"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-36-93-metablogapi/4807.image_5F00_thumb_5F00_69FC88F9.png" width="281" height="484" /&gt;&lt;/a&gt;&amp;#160;&lt;/h4&gt;  &lt;h4&gt;所以您可以在更改這些尺寸的檔名之後，一次拉入至 Assets 之中，所有的 Logos 就改動完畢了!&lt;/h4&gt;  &lt;h4&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-36-93-metablogapi/2630.image_5F00_2C0588EC.png"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-36-93-metablogapi/1376.image_5F00_thumb_5F00_7218D6B0.png" width="644" height="410" /&gt;&lt;/a&gt;&lt;/h4&gt;  &lt;h4&gt;選擇全部套用:&lt;/h4&gt;  &lt;h4&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-36-93-metablogapi/1588.image_5F00_43D74A70.png"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-36-93-metablogapi/6305.image_5F00_thumb_5F00_7394F2EF.png" width="644" height="213" /&gt;&lt;/a&gt;&lt;/h4&gt;  &lt;h4&gt;搞定! 以下即是開始畫面中的樣貌:&lt;/h4&gt;  &lt;h4&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-36-93-metablogapi/4745.image_5F00_2437B341.png"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-36-93-metablogapi/4572.image_5F00_thumb_5F00_05835A07.png" width="644" height="444" /&gt;&lt;/a&gt;&lt;/h4&gt; &lt;font color="#260859" face="Segoe UI Semibold"&gt;&lt;/font&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10421748" width="1" height="1"&gt;</content><author><name>mengruts</name><uri>http://blogs.msdn.com/mengruts/ProfileUrlRedirect.ashx</uri></author><category term="Windows Phone" scheme="http://blogs.msdn.com/b/mengtsai/archive/tags/Windows+Phone/" /><category term="Windows 8" scheme="http://blogs.msdn.com/b/mengtsai/archive/tags/Windows+8/" /><category term="Windows Store" scheme="http://blogs.msdn.com/b/mengtsai/archive/tags/Windows+Store/" /><category term="上架" scheme="http://blogs.msdn.com/b/mengtsai/archive/tags/_0A4EB667_/" /><category term="Logo" scheme="http://blogs.msdn.com/b/mengtsai/archive/tags/Logo/" /></entry><entry><title>[完全初學] 第一個 Windows Store App- 使用格線 (Grid) 應用程式</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/mengtsai/archive/2013/05/28/windows-store-app-grid.aspx" /><id>http://blogs.msdn.com/b/mengtsai/archive/2013/05/28/windows-store-app-grid.aspx</id><published>2013-05-28T09:26:52Z</published><updated>2013-05-28T09:26:52Z</updated><content type="html">&lt;h4&gt;為了方便開發者能快速進入 Windows Store App 的開發，&lt;a href="http://www.microsoft.com/visualstudio/cht/downloads" target="_blank"&gt;Visual Studio 2012&lt;/a&gt; 內建了二種模版 (templates): 格線(Grid)及分割(Split)應用程式。本篇文章將一步一步教導初學者能由此開發出一個簡單的 Windows Store App。&lt;/h4&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h4&gt;首先在 Visual Studio 2012 中「新增專案」並選擇「格線應用程式 (XAML)」:&lt;/h4&gt;  &lt;h4&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-36-93-metablogapi/5340.image_5F00_11D231D2.png"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-36-93-metablogapi/1732.image_5F00_thumb_5F00_772AB71A.png" width="644" height="362" /&gt;&lt;/a&gt;&amp;#160;&lt;/h4&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h4&gt;在還未作任何更動前，各位可以直接按 F5，或是選擇以「模擬器」方式嘗試執行:&lt;/h4&gt;  &lt;h4&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-36-93-metablogapi/0207.image_5F00_2AF53E1D.png"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-36-93-metablogapi/6457.image_5F00_thumb_5F00_330C6A72.png" width="644" height="289" /&gt;&lt;/a&gt;&lt;/h4&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h4&gt;執行結果如下，各位在畫面上會發現，這個模版含有一些 Group(s)，而每個 Group 又包含了一些 Item(s): &lt;/h4&gt;  &lt;h4&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-36-93-metablogapi/3364.image_5F00_6023E7F1.png"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-36-93-metablogapi/7345.image_5F00_thumb_5F00_11B1E638.png" width="644" height="392" /&gt;&lt;/a&gt;&lt;/h4&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h4&gt;點進 Group Title 的話可看到這個 Group 的說明:&lt;/h4&gt;  &lt;h4&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-36-93-metablogapi/7823.image_5F00_6A7A2DB3.png"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-36-93-metablogapi/0728.image_5F00_thumb_5F00_10DEA1B0.png" width="644" height="364" /&gt;&lt;/a&gt;&lt;/h4&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h4&gt;再點入 Item:&lt;/h4&gt;  &lt;h4&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-36-93-metablogapi/7651.image_5F00_74D07375.png"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-36-93-metablogapi/7853.image_5F00_thumb_5F00_282EC783.png" width="644" height="364" /&gt;&lt;/a&gt;&lt;/h4&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h4&gt;接下來我們要作的事，就是將這些灰灰黑黑的圖片，以及如亂碼般的文字替換成我們想提供的資訊。所以我們到 Visual Studio 中的「方案總管」，打開 DataModel 下的 SampleDataSource.cs 檔案，基本上只要修改這個 SampleDataSource.cs 檔，即可改變所有的 Group 及 Item 內的所有文字及圖片。&lt;/h4&gt;  &lt;h4&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-36-93-metablogapi/4747.image_5F00_12D3A2CC.png"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-36-93-metablogapi/6874.image_5F00_thumb_5F00_251EFA3F.png" width="439" height="484" /&gt;&lt;/a&gt;&lt;/h4&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h4&gt;找到 SampleDataSource()，各位可看到所有預設文字及圖片即來自此處:&lt;/h4&gt;  &lt;h4&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-36-93-metablogapi/8233.image_5F00_4B173B46.png"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-36-93-metablogapi/5148.image_5F00_thumb_5F00_49D53318.png" width="644" height="343" /&gt;&lt;/a&gt;&lt;/h4&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h4&gt;我們以最簡單直覺的方式來改動它，先更改 group1 及其第一個 item 來看看成果: &lt;/h4&gt;  &lt;h4&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-36-93-metablogapi/3733.image_5F00_691A6A9C.png"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-36-93-metablogapi/1072.image_5F00_thumb_5F00_07F5FFDD.png" width="644" height="328" /&gt;&lt;/a&gt;&lt;/h4&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h4&gt;在此我是以介紹阿里山景點為例，資料來源為阿里山國家風景區&lt;a href="http://www.ali-nsa.net/user/Article.aspx?Lang=1&amp;amp;SNo=03002478" target="_blank"&gt;官網&lt;/a&gt;:&lt;/h4&gt;  &lt;h4&gt;&lt;a href="http://www.ali-nsa.net/user/Article.aspx?Lang=1&amp;amp;SNo=03002478" target="_blank"&gt;&lt;img title="image" style="margin: 0px; display: inline; background-image: none;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-36-93-metablogapi/4643.image_5F00_34A14A67.png" width="644" height="419" /&gt;&lt;/a&gt;&amp;#160;&lt;/h4&gt;  &lt;h4&gt;在更動過程中有 3 點請注意:&lt;/h4&gt;  &lt;h4&gt;1. 各個 Item(s) 的描述，預設是一個字串變數 ITEM_CONTENT，請逐一把它替換成您想要呈現的字串即可。如我以上的例子是把 ITEM_CONTENT 替換成:&lt;/h4&gt;  &lt;p&gt;&lt;font color="#c0504d" size="3"&gt;@”大凍山脈嶺延伸緊臨於奮起湖聚落東方….”&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-36-93-metablogapi/2477.image_5F00_2FCA7077.png"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-36-93-metablogapi/8737.image_5F00_thumb_5F00_30C781B6.png" width="578" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h4&gt;2. 圖片的部份，可以直接使用圖片的網址連結。當然，您也可以另存為圖檔後，加入至 Assets 目錄下，然後再指定相對應的路徑及檔名 (ex: Assets/圖檔名-1.jpg)。&lt;/h4&gt;  &lt;h4&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-36-93-metablogapi/6404.image51_5F00_0AF3EC04.png"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-36-93-metablogapi/3404.image51_5F00_thumb_5F00_759B57FD.png" width="644" height="457" /&gt;&lt;/a&gt;&lt;/h4&gt;  &lt;h4&gt;3. 我在各個字串的前方加上了&lt;a href="mailto:'@'"&gt;'@'&lt;/a&gt;，以處理逸出字元 (Escape character) 等。&lt;/h4&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h4&gt;執行看看吧! 首頁、第二層及第三層的畫面分別為:&lt;/h4&gt;  &lt;h4&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-36-93-metablogapi/3568.image_5F00_059BBC38.png"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-36-93-metablogapi/2022.image_5F00_thumb_5F00_3DDCC401.png" width="644" height="364" /&gt;&lt;/a&gt;&lt;/h4&gt;  &lt;h4&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-36-93-metablogapi/8168.image_5F00_21CE95C7.png"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-36-93-metablogapi/0116.image_5F00_thumb_5F00_14F9610B.png" width="644" height="364" /&gt;&lt;/a&gt;&lt;/h4&gt;  &lt;h4&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-36-93-metablogapi/0755.image_5F00_2C4C178F.png"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-36-93-metablogapi/1234.image_5F00_thumb_5F00_3D5566D4.png" width="644" height="364" /&gt;&lt;/a&gt;&lt;/h4&gt;  &lt;h4&gt;依以上步驟，您就可以一步一步來填入所有 Group(s) 及 Item(s) 的資訊了。&lt;/h4&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h4&gt;Visual Studio 2012 預設的這個格線應用程式模版用了6 個 Groups，每個 Groups 有3~6個數量不等的 Items，各位如果有用不到的 Group(s) 或 Item(s)，只要在前面加上註解符號 (//) 即可。&lt;/h4&gt;  &lt;h4&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-36-93-metablogapi/7041.image_5F00_2E4118AB.png"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-36-93-metablogapi/4375.image_5F00_thumb_5F00_59884063.png" width="644" height="420" /&gt;&lt;/a&gt;&amp;#160;&lt;/h4&gt;  &lt;h4&gt;如果要新增一個 Item 的話，以上面為例，只要把整個 group1.Items.Add 及至分號(;) 的整個 statement 複製至下方，然後記得把”Group-1-Item-&lt;font color="#c0504d"&gt;5&lt;/font&gt;” 改為 “Group-1-Item-&lt;font color="#c0504d"&gt;6&lt;/font&gt;” 即可。&lt;/h4&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h4&gt;實作至此，各位已將一個 App 的主要呈現內容完成了。當然，要成為一個完整且能上傳至 Windows Store 的 App，我們還得完成以下:&lt;/h4&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h4&gt;1. 更改 App 名稱，如改為「阿里山國家公園主題之旅賞析」: 打開 Package.appxmanifest 檔並更改「顯示名稱」及「描述」:&lt;/h4&gt;  &lt;h4&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-36-93-metablogapi/6787.image_5F00_31E454EA.png"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-36-93-metablogapi/6170.image_5F00_thumb_5F00_0803E0B5.png" width="462" height="484" /&gt;&lt;/a&gt;&lt;/h4&gt;  &lt;h4&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-36-93-metablogapi/6138.image_5F00_654539A8.png"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-36-93-metablogapi/0574.image_5F00_thumb_5F00_26DF75F5.png" width="644" height="482" /&gt;&lt;/a&gt;&lt;/h4&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h4&gt;2. 更改 Page Title: 打開 GroupedItemsPage.xaml.cs 並於 GroupedItemsPage() 加上一行:&lt;/h4&gt;  &lt;h5&gt;&lt;span class="kwrd"&gt;this&lt;/span&gt;.pageTitle.Text = &lt;span class="str"&gt;&amp;quot;阿里山國家公園主題之旅賞析&amp;quot;&lt;/span&gt;;&lt;/h5&gt;  &lt;h5&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-36-93-metablogapi/5238.image_5F00_2BE965B7.png"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-36-93-metablogapi/7752.image_5F00_thumb_5F00_0A8C50CC.png" width="644" height="224" /&gt;&lt;/a&gt;&lt;/h5&gt;  &lt;h4&gt;3. 更改背景 (非必須): 開啟某個 .xaml 檔 (如 GroupedItemsPage.xaml)，在下方的 XAML 視窗中點選至 &amp;lt;GridView 的位置，然後在右側的「屬性」-&amp;gt;「筆刷」-&amp;gt; Background -&amp;gt;在「單色筆刷」中透過調色盤選擇顏色。&lt;/h4&gt;  &lt;h4&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-36-93-metablogapi/1222.image_5F00_70BAAB4D.png"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-36-93-metablogapi/0118.image_5F00_thumb_5F00_063A7B5A.png" width="644" height="351" /&gt;&lt;/a&gt;&lt;/h4&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h4&gt;4. 您應注意到我在以上是直接使用圖片的網址來顯示圖片，也就是此 App 需要用到網際網路 (Internet)，故要上架 Windows Store 的話需提供隱私權宣告，詳細說明可見&lt;a href="http://blogs.msdn.com/b/mengtsai/archive/2012/12/28/10381137.aspx"&gt;隱私權聲明-最常見的退件原因&lt;/a&gt;。在這您可直接實作如以下:&lt;/h4&gt;  &lt;h4&gt;在 App.xaml.cs 檔中的 OnLaunched() 最後加上:&lt;/h4&gt;  &lt;p&gt;&lt;font size="2"&gt;SettingsPane.GetForCurrentView().CommandsRequested += &lt;font style="background-color: rgb(255, 255, 0);"&gt;&lt;strong&gt;OnCommandsRequested&lt;/strong&gt;&lt;/font&gt;;&lt;/font&gt;&lt;/p&gt;  &lt;h4&gt;然後加入以下兩個新方法即可:&lt;/h4&gt;  &lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;private&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; &lt;font style="background-color: rgb(255, 255, 0);"&gt;&lt;strong&gt;OnCommandsRequested&lt;/strong&gt;&lt;/font&gt;(SettingsPane sender, &lt;/pre&gt;
&lt;font size="2"&gt;&lt;/font&gt;

&lt;pre class="csharpcode"&gt;SettingsPaneCommandsRequestedEventArgs args)
{
    UICommandInvokedHandler handler =
             &lt;span class="kwrd"&gt;new&lt;/span&gt; UICommandInvokedHandler(&lt;strong&gt;&lt;font style="background-color: rgb(255, 255, 0);"&gt;onSettingsCommand&lt;/font&gt;&lt;/strong&gt;);

    SettingsCommand privacy1Command =
             &lt;span class="kwrd"&gt;new&lt;/span&gt; SettingsCommand(&lt;span class="str"&gt;&amp;quot;privacystatementPage&amp;quot;&lt;/span&gt;, &lt;span class="str"&gt;&amp;quot;隱私權原則&amp;quot;&lt;/span&gt;, handler);

    args.Request.ApplicationCommands.Add(privacy1Command);
}
async &lt;span class="kwrd"&gt;void&lt;/span&gt; &lt;strong&gt;&lt;font style="background-color: rgb(255, 255, 0);"&gt;onSettingsCommand&lt;/font&gt;&lt;/strong&gt;(IUICommand command)
{
    SettingsCommand settingsCommand = (SettingsCommand)command;
    &lt;span class="kwrd"&gt;if&lt;/span&gt; (settingsCommand.Id.ToString().Equals(&lt;span class="str"&gt;&amp;quot;privacystatementPage&amp;quot;&lt;/span&gt;))
    {
        var success =
             await Windows.System.Launcher.LaunchUriAsync(
                    &lt;span class="kwrd"&gt;new&lt;/span&gt; Uri(&lt;span class="str"&gt;@&lt;a href="http://www.您的隱私權宣告網址.com"&gt;http://www.您的隱私權宣告網址.com&lt;/a&gt;&lt;/span&gt;));
    }
}&lt;/pre&gt;


&lt;h4&gt;5. 加入 Share contract 的支援 (非必須)。比如您想在 Item 的頁面可以分享描述文字，則可在 ItemDetailPage.xaml.cs 檔中的 LoadState() 方法的最後加上:&lt;/h4&gt;

&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;try&lt;/span&gt;
{
&lt;span class="rem"&gt;    // Register for DataRequested events&lt;/span&gt;
    DataTransferManager.GetForCurrentView().DataRequested &lt;/pre&gt;
&lt;font size="2"&gt;&lt;/font&gt;

&lt;pre class="csharpcode"&gt;        += &lt;font style="background-color: rgb(255, 255, 0);"&gt;&lt;strong&gt;OnDataRequested&lt;/strong&gt;&lt;/font&gt;;
 }
 &lt;span class="kwrd"&gt;catch&lt;/span&gt; (Exception) { }&lt;/pre&gt;

&lt;h4&gt;然後加入以下這個新方法:&lt;/h4&gt;

&lt;pre class="csharpcode"&gt;&lt;span class="rem"&gt;// 實作 OnDataRequested()&lt;/span&gt;
&lt;span class="kwrd"&gt;void&lt;/span&gt; &lt;font style="background-color: rgb(255, 255, 0);"&gt;&lt;strong&gt;OnDataRequested&lt;/strong&gt;&lt;/font&gt;(DataTransferManager sender, DataRequestedEventArgs args)
{
    &lt;span class="kwrd"&gt;try&lt;/span&gt;
    {
       var dataPackage = args.Request.Data;
       dataPackage.Properties.Title = &lt;/pre&gt;

&lt;pre class="csharpcode"&gt;          ((SampleDataItem)&lt;span class="kwrd"&gt;this&lt;/span&gt;.flipView.SelectedItem).Title;
       dataPackage.Properties.Description = &lt;/pre&gt;

&lt;pre class="csharpcode"&gt;          ((SampleDataItem)&lt;span class="kwrd"&gt;this&lt;/span&gt;.flipView.SelectedItem).Subtitle;
       dataPackage.SetText(&lt;/pre&gt;

&lt;pre class="csharpcode"&gt;          ((SampleDataItem)&lt;span class="kwrd"&gt;this&lt;/span&gt;.flipView.SelectedItem).Content.ToString()&lt;/pre&gt;

&lt;pre class="csharpcode"&gt;          );
    }
    &lt;span class="kwrd"&gt;catch&lt;/span&gt; (Exception)
    { }
}&lt;/pre&gt;

&lt;h4&gt;6. 最後，當然要製作專屬於此 App 的各種 Logo 圖檔了，各位可以參考&lt;a href="http://blogs.msdn.com/b/mengtsai/archive/2013/05/28/logo-windows-store-app-windows-phone-8-app.aspx"&gt;Logo 製造機- 適用於Windows Store App 及 Windows Phone 8 App&lt;/a&gt; 以快速製作出 Logos.&lt;/h4&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;h4&gt;完成了! 這樣的一個 App 就能在 &lt;a title="https://appdev.microsoft.com/storeportals/zh-tw" href="https://appdev.microsoft.com/storeportals/zh-tw"&gt;https://appdev.microsoft.com/storeportals/zh-tw&lt;/a&gt; 中上傳了。&lt;/h4&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;h1&gt;&lt;a href="http://sdrv.ms/19iFL59" target="_blank"&gt;&lt;strong&gt;完整程式碼下載&lt;/strong&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10421706" width="1" height="1"&gt;</content><author><name>mengruts</name><uri>http://blogs.msdn.com/mengruts/ProfileUrlRedirect.ashx</uri></author><category term="Windows 8" scheme="http://blogs.msdn.com/b/mengtsai/archive/tags/Windows+8/" /><category term="Windows Store" scheme="http://blogs.msdn.com/b/mengtsai/archive/tags/Windows+Store/" /><category term="上架" scheme="http://blogs.msdn.com/b/mengtsai/archive/tags/_0A4EB667_/" /><category term="Privacy Statement" scheme="http://blogs.msdn.com/b/mengtsai/archive/tags/Privacy+Statement/" /><category term="dashboard" scheme="http://blogs.msdn.com/b/mengtsai/archive/tags/dashboard/" /><category term="Split" scheme="http://blogs.msdn.com/b/mengtsai/archive/tags/Split/" /><category term="Grid" scheme="http://blogs.msdn.com/b/mengtsai/archive/tags/Grid/" /></entry><entry><title>Windows Store Dashboard 儀表板一覽</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/mengtsai/archive/2013/04/17/windows-store-dashboard.aspx" /><id>http://blogs.msdn.com/b/mengtsai/archive/2013/04/17/windows-store-dashboard.aspx</id><published>2013-04-17T09:52:35Z</published><updated>2013-04-17T09:52:35Z</updated><content type="html">&lt;h4&gt;您的 Windows Store App 成功上架之後，就可以從「儀表板」(dashboard) 中查看 App 的各種狀態，如下載次數、使用方式、crash report、已賺了多少錢等等。&lt;/h4&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h4&gt;以下就以我的儀表板為例讓大家了解有哪些功能。&lt;/h4&gt;  &lt;h4&gt;登入&lt;a title="https://appdev.microsoft.com/storeportals/zh-tw/" href="https://appdev.microsoft.com/storeportals/zh-tw/"&gt;https://appdev.microsoft.com/storeportals/zh-tw/&lt;/a&gt;之後，首先看到的畫面會是所有進行中或已上架的應用程式:&lt;/h4&gt;  &lt;h4&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-36-93-metablogapi/3730.image_5F00_796A04F9.png"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-36-93-metablogapi/3113.image_5F00_thumb_5F00_14A4EEAC.png" width="644" height="376" /&gt;&lt;/a&gt;&lt;/h4&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h4&gt;已上架的應用程式:&lt;/h4&gt;  &lt;h4&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-36-93-metablogapi/7802.image_5F00_271260C3.png"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-36-93-metablogapi/7485.image_5F00_thumb_5F00_1D4CF94B.png" width="644" height="330" /&gt;&lt;/a&gt;&lt;/h4&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h4&gt;點選已上架應用程式的「報告」，就會看到「應用程式摘要」；此頁面中可以看到這個 App 的下載、In-App Purchase、使用方式、評分、品質、財務的所有細節:&lt;/h4&gt;  &lt;h4&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-36-93-metablogapi/4857.image_5F00_085E0789.png"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-36-93-metablogapi/5023.image_5F00_thumb_5F00_07F46545.png" width="644" height="399" /&gt;&lt;/a&gt;&lt;/h4&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h4&gt;點選右上角「詳細資料」後都可以就各別項目展開，展開後還能選擇不同的時間週期(1個月、3個月、6個月、1年)，以及市場、年齡或性別作套用。&lt;/h4&gt;  &lt;h4&gt;「下載」可以看到每一天的下載次數：&lt;/h4&gt;  &lt;h4&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-36-93-metablogapi/0647.image_5F00_297394D4.png"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-36-93-metablogapi/7802.image_5F00_thumb_5F00_0DD1998F.png" width="644" height="387" /&gt;&lt;/a&gt;&lt;/h4&gt;  &lt;h4&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-36-93-metablogapi/8463.image_5F00_58C79B0F.png"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-36-93-metablogapi/6404.image_5F00_thumb_5F00_412FED9C.png" width="644" height="388" /&gt;&lt;/a&gt;&lt;/h4&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h4&gt;透過「使用方式」了解使用者平均每一天花在你的 App 上多少分鐘:&lt;/h4&gt;  &lt;h4&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-36-93-metablogapi/0118.image_5F00_453CCC1F.png"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-36-93-metablogapi/1602.image_5F00_thumb_5F00_7BAD7E21.png" width="644" height="364" /&gt;&lt;/a&gt;&lt;/h4&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h4&gt;「評分」可以了解使用者的評論，作為 App 改進的參考:&lt;/h4&gt;  &lt;h4&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-36-93-metablogapi/1602.image_5F00_7BB00ED2.png"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-36-93-metablogapi/1602.image_5F00_thumb_5F00_04336E1D.png" width="644" height="442" /&gt;&lt;/a&gt;&lt;/h4&gt;  &lt;h4&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-36-93-metablogapi/1373.image_5F00_018D431D.png"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-36-93-metablogapi/5305.image_5F00_thumb_5F00_69F595A9.png" width="611" height="484" /&gt;&lt;/a&gt;&lt;/h4&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h4&gt;「品質」則可以看到 App 在被執行時，發生例外或損毀的狀況:&lt;/h4&gt;  &lt;h4&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-36-93-metablogapi/1777.image_5F00_0E1D80EA.png"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-36-93-metablogapi/1680.image_5F00_thumb_5F00_32B19F1F.png" width="644" height="392" /&gt;&lt;/a&gt;&lt;/h4&gt;  &lt;h4&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-36-93-metablogapi/2656.image_5F00_08D12AEA.png"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-36-93-metablogapi/3718.image_5F00_thumb_5F00_583DAD31.png" width="508" height="484" /&gt;&lt;/a&gt;&lt;/h4&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h4&gt;「財務」能看到此 App 收益及詳細交易記錄:&lt;/h4&gt;  &lt;h4&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-36-93-metablogapi/1665.image_5F00_6E935276.png"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-36-93-metablogapi/1258.image_5F00_thumb_5F00_6BED2776.png" width="644" height="399" /&gt;&lt;/a&gt;&lt;/h4&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h4&gt;官方說明文件及進一步說明可參考: &lt;a href="http://msdn.microsoft.com/zh-tw/library/windows/apps/hh967768.aspx" target="_blank"&gt;分析您在 Windows 市集中的應用程式&lt;/a&gt;&lt;/h4&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10411793" width="1" height="1"&gt;</content><author><name>mengruts</name><uri>http://blogs.msdn.com/mengruts/ProfileUrlRedirect.ashx</uri></author><category term="Windows 8" scheme="http://blogs.msdn.com/b/mengtsai/archive/tags/Windows+8/" /><category term="Windows Store" scheme="http://blogs.msdn.com/b/mengtsai/archive/tags/Windows+Store/" /><category term="上架" scheme="http://blogs.msdn.com/b/mengtsai/archive/tags/_0A4EB667_/" /><category term="dashboard" scheme="http://blogs.msdn.com/b/mengtsai/archive/tags/dashboard/" /><category term="儀表板" scheme="http://blogs.msdn.com/b/mengtsai/archive/tags/_005168887F67_/" /></entry><entry><title>在 Win8 App 中閱讀 PDF 或 XPS 文件</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/mengtsai/archive/2013/04/17/win8-app-pdf-xps.aspx" /><id>http://blogs.msdn.com/b/mengtsai/archive/2013/04/17/win8-app-pdf-xps.aspx</id><published>2013-04-17T05:54:23Z</published><updated>2013-04-17T05:54:23Z</updated><content type="html">&lt;h4&gt;在&lt;a href="http://blogs.msdn.com/b/mengtsai/archive/2013/03/04/pdf.aspx" target="_blank"&gt;這篇文章&lt;/a&gt;中提到可以使用 Adobe 或是 Foxit 元件來閱讀 PDF 文件，但對一般開發者而言最大的難處是在 $$!! 是的，這兩家廠商提供的元件雖然功能豐富，但其價格也造成一般開發者的門檻。&lt;/h4&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h4&gt;好消息! 有一個可以免費使用的 WinRT 元件已在 Git 釋出!&lt;/h4&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h4&gt;原文說明在此: &lt;/h4&gt;  &lt;h4&gt;&lt;a href="http://blogs.msdn.com/b/eternalcoding/archive/2013/04/15/reading-pdf-and-xps-on-your-windows-8-application-using-winrt.aspx" target="_blank"&gt;Reading PDF and XPS on your Windows 8 application using WinRT&lt;/a&gt; (C#)&lt;/h4&gt;  &lt;h4&gt;&lt;a href="http://blogs.msdn.com/b/eternalcoding/archive/2013/04/22/now-with-javascript-reading-pdf-and-xps-on-your-windows-8-application-using-winrt.aspx"&gt;Reading PDF and XPS on your Windows 8 application using WinRT&lt;/a&gt; (JavaScript)&lt;/h4&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h4&gt;Git repo: &lt;a href="http://git.ghostscript.com/?p=user/mvrhel/mupdf.git;a=summary"&gt;http://git.ghostscript.com/?p=user/mvrhel/mupdf.git;a=summary&lt;/a&gt;&lt;/h4&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h4&gt;各位也可以直接下載其 Sample Code: &lt;a href="http://www.catuhe.com/msdn/pdfreader.zip"&gt;http://www.catuhe.com/msdn/pdfreader.zip&lt;/a&gt;，將 PDF 文件呈現在 FlipView 讓使用者翻動:&lt;/h4&gt;  &lt;h4&gt;&lt;img src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-44-73-metablogapi/2671.image_5F00_38284D46.png" width="640" height="400" /&gt;&lt;/h4&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h4&gt;也可以一次呈現2頁:&lt;/h4&gt;  &lt;h4&gt;&lt;img src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-44-73-metablogapi/4010.image_5F00_4EFCFE86.png" width="640" height="400" /&gt;&lt;/h4&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h4&gt;使用者Zoom in and ont，即可以看到 Vector PDF 的高解析度。&lt;/h4&gt;  &lt;h4&gt;&lt;em&gt;Optical zoom (bitmap based):&lt;/em&gt;&lt;/h4&gt;  &lt;h4&gt;&lt;img src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-44-73-metablogapi/1777.image11_5F00_35A95E4C.png" width="640" height="398" /&gt;&lt;/h4&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h4&gt;&lt;em&gt;Vectorized zoom:&lt;/em&gt;&lt;/h4&gt;  &lt;h4&gt;&lt;img src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-44-73-metablogapi/8524.image14_5F00_7382A370.png" width="640" height="400" /&gt;&lt;/h4&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10411738" width="1" height="1"&gt;</content><author><name>mengruts</name><uri>http://blogs.msdn.com/mengruts/ProfileUrlRedirect.ashx</uri></author><category term="Windows 8" scheme="http://blogs.msdn.com/b/mengtsai/archive/tags/Windows+8/" /><category term="Windows Store" scheme="http://blogs.msdn.com/b/mengtsai/archive/tags/Windows+Store/" /><category term="PDF" scheme="http://blogs.msdn.com/b/mengtsai/archive/tags/PDF/" /><category term="Foxit" scheme="http://blogs.msdn.com/b/mengtsai/archive/tags/Foxit/" /><category term="Adobe" scheme="http://blogs.msdn.com/b/mengtsai/archive/tags/Adobe/" /><category term="Git" scheme="http://blogs.msdn.com/b/mengtsai/archive/tags/Git/" /><category term="XPS" scheme="http://blogs.msdn.com/b/mengtsai/archive/tags/XPS/" /></entry><entry><title>全中文線上影音教學頻道開播–Channel9 Taiwan</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/mengtsai/archive/2013/04/15/channel9-taiwan.aspx" /><id>http://blogs.msdn.com/b/mengtsai/archive/2013/04/15/channel9-taiwan.aspx</id><published>2013-04-15T07:00:10Z</published><updated>2013-04-15T07:00:10Z</updated><content type="html">&lt;h4&gt;「&lt;a href="http://channel9.msdn.com/Blogs/Channel9Taiwan" target="_blank"&gt;第9頻道 Taiwan&lt;/a&gt;」是台灣微軟 DPE 提供的台灣本地製作之教學、課程錄影、開發營活動等相關影片，內容包括所有微軟的開發或平台技術。&lt;/h4&gt;  &lt;h4&gt;大家也可訂閱 RSS 來隨時得知最新訊息!&lt;/h4&gt;  &lt;p&gt;&lt;a href="http://channel9.msdn.com/Blogs/Channel9Taiwan" target="_blank"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-36-93-metablogapi/5822.image_5F00_705ED038.png" width="478" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;h4&gt;更多關於開發技術的內容，請上 &lt;a href="http://msdn.microsoft.com/zh-tw/"&gt;http://msdn.microsoft.com/zh-tw/&lt;/a&gt;&lt;/h4&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10411015" width="1" height="1"&gt;</content><author><name>mengruts</name><uri>http://blogs.msdn.com/mengruts/ProfileUrlRedirect.ashx</uri></author><category term="Windows Azure" scheme="http://blogs.msdn.com/b/mengtsai/archive/tags/Windows+Azure/" /><category term="Windows Phone" scheme="http://blogs.msdn.com/b/mengtsai/archive/tags/Windows+Phone/" /><category term="Windows 8" scheme="http://blogs.msdn.com/b/mengtsai/archive/tags/Windows+8/" /><category term="Windows Store" scheme="http://blogs.msdn.com/b/mengtsai/archive/tags/Windows+Store/" /><category term="Visual Studio 2012" scheme="http://blogs.msdn.com/b/mengtsai/archive/tags/Visual+Studio+2012/" /><category term="MSDN" scheme="http://blogs.msdn.com/b/mengtsai/archive/tags/MSDN/" /><category term="Channel9" scheme="http://blogs.msdn.com/b/mengtsai/archive/tags/Channel9/" /></entry><entry><title>摩登開發人員訓練營 - 投影片及範例程式下載及錄影</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/mengtsai/archive/2013/04/10/10409916.aspx" /><id>http://blogs.msdn.com/b/mengtsai/archive/2013/04/10/10409916.aspx</id><published>2013-04-10T08:46:35Z</published><updated>2013-04-10T08:46:35Z</updated><content type="html">&lt;h4&gt;於2013/3/28-3/29 進行的&lt;a href="http://devcampstw.azurewebsites.net/Event/Details/432fbc3e-1991-4d3e-a03c-25c82be0762c" target="_blank"&gt;摩登開發人員訓練營&lt;/a&gt;中，「Windows市集應用程式最佳實踐」這場次的投影片及範例程式可於 &lt;a href="http://sdrv.ms/ZzMsuo"&gt;http://sdrv.ms/ZzMsuo&lt;/a&gt; 下載。&lt;/h4&gt;  &lt;h4&gt;&lt;a href="http://sdrv.ms/ZzMsuo" target="_blank"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-36-93-metablogapi/4024.image_5F00_32D55B08.png" width="644" height="204" /&gt;&lt;/a&gt;&lt;/h4&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h4&gt;投影片同時可在SlideShare&lt;a href="http://www.slideshare.net/mengruts/dev-camps-windows-store-apps-101" target="_blank"&gt;下載或線上觀看&lt;/a&gt;:&lt;/h4&gt;  &lt;p&gt;&lt;a href="http://www.slideshare.net/mengruts/dev-camps-windows-store-apps-101" target="_blank"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-36-93-metablogapi/0724.image_5F00_64CF8C43.png" width="560" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;h4&gt;主題皆是以實作為主，包含以下這幾項：&lt;/h4&gt;  &lt;h4&gt;&lt;font size="2" face="微軟正黑體"&gt;•「分享」(Share Contract)&lt;/font&gt;&lt;/h4&gt; &lt;font size="2" face="微軟正黑體"&gt;&lt;/font&gt;  &lt;h4&gt;&lt;font size="2" face="微軟正黑體"&gt;•「搜尋」(Search Contract)&lt;/font&gt;&lt;/h4&gt; &lt;font size="2" face="微軟正黑體"&gt;&lt;/font&gt;  &lt;h4&gt;&lt;font size="2" face="微軟正黑體"&gt;•右側工具列 (Charms Bar)&lt;/font&gt;&lt;/h4&gt; &lt;font size="2" face="微軟正黑體"&gt;&lt;/font&gt;  &lt;h4&gt;&lt;font size="2" face="微軟正黑體"&gt;•如何儲存使用者個人設定? (Roaming 應用)&lt;/font&gt;&lt;/h4&gt; &lt;font size="2" face="微軟正黑體"&gt;&lt;/font&gt;  &lt;h4&gt;&lt;font size="2" face="微軟正黑體"&gt;•取得目前位置 (Geolocation)&lt;/font&gt;&lt;/h4&gt; &lt;font size="2" face="微軟正黑體"&gt;&lt;/font&gt;  &lt;h4&gt;&lt;font size="2" face="微軟正黑體"&gt;•使用 WebView 的眉角&lt;/font&gt;&lt;/h4&gt; &lt;font size="2" face="微軟正黑體"&gt;&lt;/font&gt;  &lt;h4&gt;&lt;font size="2" face="微軟正黑體"&gt;•取得及處理 JSON 資料&lt;/font&gt;&lt;/h4&gt; &lt;font size="2" face="微軟正黑體"&gt;&lt;/font&gt;  &lt;h4&gt;&lt;font size="2" face="微軟正黑體"&gt;•其他: &lt;/font&gt;&lt;/h4&gt; &lt;font size="2" face="微軟正黑體"&gt;&lt;/font&gt;  &lt;blockquote&gt;&lt;font size="2" face="微軟正黑體"&gt;&lt;/font&gt;    &lt;h4&gt;&lt;font size="2" face="微軟正黑體"&gt;–播放音樂或音效 (MediaElement)&lt;/font&gt;&lt;/h4&gt;   &lt;font size="2" face="微軟正黑體"&gt;&lt;/font&gt;    &lt;h4&gt;&lt;font size="2" face="微軟正黑體"&gt;–選取本地或需端檔案 (FilePicker)&lt;/font&gt;&lt;/h4&gt;   &lt;font size="2" face="微軟正黑體"&gt;&lt;/font&gt;    &lt;h4&gt;&lt;font size="2" face="微軟正黑體"&gt;–背景執行或下載 (Background Task/Transfer)&lt;/font&gt;&lt;/h4&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h4&gt;當天的課程內容錄影:&lt;/h4&gt;  &lt;p&gt;&lt;a href="http://channel9.msdn.com/Blogs/Channel9Taiwan/windows-store-apps-dev-practices" target="_blank"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-36-93-metablogapi/8400.image_5F00_5592E69A.png" width="644" height="310" /&gt;&amp;#160;&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10409916" width="1" height="1"&gt;</content><author><name>mengruts</name><uri>http://blogs.msdn.com/mengruts/ProfileUrlRedirect.ashx</uri></author><category term="Windows 8" scheme="http://blogs.msdn.com/b/mengtsai/archive/tags/Windows+8/" /><category term="Windows Store" scheme="http://blogs.msdn.com/b/mengtsai/archive/tags/Windows+Store/" /><category term="Search Contract" scheme="http://blogs.msdn.com/b/mengtsai/archive/tags/Search+Contract/" /><category term="Share contract" scheme="http://blogs.msdn.com/b/mengtsai/archive/tags/Share+contract/" /><category term="Geolocation" scheme="http://blogs.msdn.com/b/mengtsai/archive/tags/Geolocation/" /><category term="WebView" scheme="http://blogs.msdn.com/b/mengtsai/archive/tags/WebView/" /><category term="JSON" scheme="http://blogs.msdn.com/b/mengtsai/archive/tags/JSON/" /><category term="Roaming" scheme="http://blogs.msdn.com/b/mengtsai/archive/tags/Roaming/" /><category term="Charms Bar" scheme="http://blogs.msdn.com/b/mengtsai/archive/tags/Charms+Bar/" /><category term="FilePicker" scheme="http://blogs.msdn.com/b/mengtsai/archive/tags/FilePicker/" /><category term="MediaElement" scheme="http://blogs.msdn.com/b/mengtsai/archive/tags/MediaElement/" /><category term="Background" scheme="http://blogs.msdn.com/b/mengtsai/archive/tags/Background/" /></entry><entry><title>使用 JSON 及 Geolocation- 小於 50 行程式碼的 Windows Store App 又一番</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/mengtsai/archive/2013/04/10/json-geolocation-50-app.aspx" /><id>http://blogs.msdn.com/b/mengtsai/archive/2013/04/10/json-geolocation-50-app.aspx</id><published>2013-04-10T08:12:19Z</published><updated>2013-04-10T08:12:19Z</updated><content type="html">&lt;h4&gt;我想寫個小 App ，首先是想抓取台北市政府資料開放平台 (&lt;a href="http://data.taipei.gov.tw" target="_blank"&gt;http://data.taipei.gov.tw&lt;/a&gt;) 所提供的 JSON 資料，例如溫泉業者、停車場、各區運動中心等等，然後顯示選擇場所的附近地圖，進而取得由所在位置出發的路線規劃。&lt;/h4&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h4&gt;&lt;font style="font-weight: bold;"&gt;開始 coding!&lt;/font&gt; (此文所用程式碼在&lt;a href="http://sdrv.ms/ZzMsuo" target="_blank"&gt;http://sdrv.ms/ZzMsuo&lt;/a&gt;，請自由下載使用)&lt;/h4&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h4&gt;我們先來看看台北市提供的「&lt;a href="http://data.taipei.gov.tw/opendata/apply/NewDataContent?oid=7BB7304F-2DCB-483E-B3B3-7A4838E585E3" target="_blank"&gt;OK認證-游泳場所業&lt;/a&gt;」的資料如以下，可以看到「資料介接」的 JSON 連結為: &lt;a href="http://data.taipei.gov.tw/opendata/apply/json/N0JCNzMwNEYtMkRDQi00ODNFLUIzQjMtN0E0ODM4RTU4NUUz" target="_blank"&gt;http://data.taipei.gov.tw/opendata/apply/json/N0JCNzMwNEYtMkRDQi00ODNFLUIzQjMtN0E0ODM4RTU4NUUz&lt;/a&gt; ，此連結將被作為我的資料來源。&lt;/h4&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-36-93-metablogapi/2100.image_5F00_6BC00F69.png" target="_blank"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-36-93-metablogapi/2671.image_5F00_thumb_5F00_761D4597.png" width="644" height="266" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;h4&gt;接下來打開 Visual Studio 2012，開啟一空白 Windows Store App 專案，打開 MainPage.xaml 並規劃介面如以下:&lt;/h4&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-36-93-metablogapi/6087.image_5F00_3513E795.png" target="_blank"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-36-93-metablogapi/7462.image_5F00_thumb_5F00_38B49323.png" width="644" height="322" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;h4&gt;各位可以看到畫面左邊我拉了一個 ListBox 控制項，畫面右邊拉了一個 WebView，是準備用來呈現地圖的，同時右下角有個RadioButton group 及一個 Button 按鈕。&lt;/h4&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h4&gt;以下我實作了一個 GetJSON() 方法:&lt;/h4&gt;  &lt;pre class="code"&gt;&lt;font size="1"&gt;&lt;span style="background: white; color: blue;"&gt;private &lt;strong&gt;&lt;font color="#ff0000"&gt;async&lt;/font&gt;&lt;/strong&gt; &lt;/span&gt;&lt;span style="background: white; color: rgb(43, 145, 175);"&gt;Task &lt;/span&gt;&lt;span style="background: white; color: black;"&gt;GetJSON()
{
&lt;/span&gt;&lt;span style="background: white; color: blue;"&gt;     string &lt;/span&gt;&lt;span style="background: white; color: black;"&gt;strURI = &lt;/span&gt;&lt;span style="background: white; color: rgb(163, 21, 21);"&gt;&amp;quot;http://data.taipei.gov.tw/opendata/apply/json/N0JCNzMwNEYtMkRDQi00ODNFLUIzQjMtN0E0ODM4RTU4NUUz&amp;quot;&lt;/span&gt;&lt;span style="background: white; color: black;"&gt;;
&lt;/span&gt;&lt;span style="background: white; color: blue;"&gt;     var &lt;/span&gt;&lt;span style="background: white; color: black;"&gt;http = &lt;/span&gt;&lt;span style="background: white; color: blue;"&gt;new &lt;/span&gt;&lt;span style="background: white; color: rgb(43, 145, 175);"&gt;HttpClient&lt;/span&gt;&lt;span style="background: white; color: black;"&gt;();
     http.MaxResponseContentBufferSize = &lt;/span&gt;&lt;span style="background: white; color: rgb(43, 145, 175);"&gt;Int32&lt;/span&gt;&lt;span style="background: white; color: black;"&gt;.MaxValue;
&lt;/span&gt;&lt;span style="background: white; color: blue;"&gt;     var &lt;/span&gt;&lt;span style="background: white; color: black;"&gt;response = &lt;/span&gt;&lt;span style="background: white; color: blue;"&gt;&lt;font color="#ff0000"&gt;await&lt;/font&gt; &lt;/span&gt;&lt;span style="background: white; color: black;"&gt;http.&lt;strong&gt;&lt;font color="#ff0000"&gt;GetStringAsync&lt;/font&gt;&lt;/strong&gt;(strURI);

&lt;/span&gt;&lt;span style="background: white; color: rgb(43, 145, 175);"&gt;     &lt;strong&gt;JsonValue&lt;/strong&gt; &lt;/span&gt;&lt;span style="background: white; color: black;"&gt;jsonValue = &lt;/span&gt;&lt;span style="background: white; color: rgb(43, 145, 175);"&gt;&lt;strong&gt;&lt;font color="#ff0000"&gt;JsonValue&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="background: white; color: black;"&gt;&lt;font color="#ff0000"&gt;.Parse&lt;/font&gt;(response.ToString());
&lt;/span&gt;&lt;span style="background: white; color: blue;"&gt;     int &lt;/span&gt;&lt;span style="background: white; color: black;"&gt;arraySize = jsonValue.GetArray().Count;

&lt;/span&gt;&lt;span style="background: white; color: blue;"&gt;     this&lt;/span&gt;&lt;span style="background: white; color: black;"&gt;.listArray = &lt;/span&gt;&lt;span style="background: white; color: blue;"&gt;new string&lt;/span&gt;&lt;span style="background: white; color: black;"&gt;[arraySize];
&lt;/span&gt;&lt;span style="background: white; color: blue;"&gt;     this&lt;/span&gt;&lt;span style="background: white; color: black;"&gt;.telArray = &lt;/span&gt;&lt;span style="background: white; color: blue;"&gt;new string&lt;/span&gt;&lt;span style="background: white; color: black;"&gt;[arraySize];
&lt;/span&gt;&lt;span style="background: white; color: blue;"&gt;     this&lt;/span&gt;&lt;span style="background: white; color: black;"&gt;.addrArray = &lt;/span&gt;&lt;span style="background: white; color: blue;"&gt;new string&lt;/span&gt;&lt;span style="background: white; color: black;"&gt;[arraySize];

&lt;/span&gt;&lt;span style="background: white; color: blue;"&gt;     for &lt;/span&gt;&lt;span style="background: white; color: black;"&gt;(&lt;/span&gt;&lt;span style="background: white; color: blue;"&gt;int &lt;/span&gt;&lt;span style="background: white; color: black;"&gt;i = 0; i &amp;lt; arraySize; i++)
     {
&lt;/span&gt;&lt;span style="background: white; color: rgb(43, 145, 175);"&gt;          IJsonValue &lt;/span&gt;&lt;span style="background: white; color: black;"&gt;element = jsonValue.GetArray()[i];
&lt;/span&gt;&lt;span style="background: white; color: blue;"&gt;          string &lt;/span&gt;&lt;span style="background: white; color: black;"&gt;strName = element.GetObject().GetNamedString(&lt;/span&gt;&lt;span style="background: white; color: rgb(163, 21, 21);"&gt;&amp;quot;name&amp;quot;&lt;/span&gt;&lt;span style="background: white; color: black;"&gt;);
          listArray[i] = strName;
&lt;/span&gt;&lt;span style="background: white; color: blue;"&gt;          string &lt;/span&gt;&lt;span style="background: white; color: black;"&gt;strTel = element.GetObject().GetNamedString(&lt;/span&gt;&lt;span style="background: white; color: rgb(163, 21, 21);"&gt;&amp;quot;tel&amp;quot;&lt;/span&gt;&lt;span style="background: white; color: black;"&gt;);
          telArray[i] = strTel;
&lt;/span&gt;&lt;span style="background: white; color: blue;"&gt;          string &lt;/span&gt;&lt;span style="background: white; color: black;"&gt;strAddr = element.GetObject().GetNamedString(&lt;/span&gt;&lt;span style="background: white; color: rgb(163, 21, 21);"&gt;&amp;quot;poi_addr&amp;quot;&lt;/span&gt;&lt;span style="background: white; color: black;"&gt;);
          addrArray[i] = strAddr;
     }
}&lt;/span&gt;&lt;/font&gt;&lt;/pre&gt;

&lt;h4&gt;以上程式基本上作了兩件事:&lt;/h4&gt;

&lt;h4&gt;1. &lt;u&gt;把 JSON 資料抓下來&lt;/u&gt;：各位可以看到我只用了一個 GetStringAsync() 方法就將資料抓取下來成為一個JSON字串。&lt;/h4&gt;

&lt;h4&gt;2. 接下來是要&lt;u&gt;處理所得到的 JSON 字串&lt;/u&gt;：在處理之前我們得先了解此 JSON 字串的結構，以此資料為例，會發現此JSON字串為一包含多個物件 (objects) 之陣列 (arrays)，如以下:&lt;/h4&gt;

&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-36-93-metablogapi/3252.image_5F00_6AAEC45E.png" target="_blank"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-36-93-metablogapi/2766.image_5F00_thumb_5F00_6808995E.png" width="644" height="136" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;了解資料結構後，就能參考&lt;a href="http://msdn.microsoft.com/zh-tw/library/windows/apps/xaml/hh770289.aspx" target="_blank"&gt;使用 JavaScript 物件標記法&lt;/a&gt;這篇文章，如以上的程式碼，利用一個 for 迴圈讀取陣列中的所有物件，取得所需要的值；再於以下的 OnNavigatedTo() 方法中，將所有的游泳場所名塞入位於畫面左側的 ListView:&lt;/h4&gt;

&lt;pre class="code"&gt;&lt;span style="background: white; color: blue;"&gt;protected &lt;font color="#ff0000"&gt;async&lt;/font&gt; override void &lt;/span&gt;&lt;span style="background: white; color: black;"&gt;OnNavigatedTo(&lt;/span&gt;&lt;span style="background: white; color: rgb(43, 145, 175);"&gt;NavigationEventArgs &lt;/span&gt;&lt;span style="background: white; color: black;"&gt;e)
{
&lt;/span&gt;&lt;span style="background: white; color: blue;"&gt;     &lt;font color="#ff0000"&gt;await&lt;/font&gt; &lt;/span&gt;&lt;span style="background: white; color: black;"&gt;GetJSON();
     &lt;/span&gt;&lt;span style="background: white; color: blue;"&gt;for &lt;/span&gt;&lt;span style="background: white; color: black;"&gt;(&lt;/span&gt;&lt;span style="background: white; color: blue;"&gt;int &lt;/span&gt;&lt;span style="background: white; color: black;"&gt;i = 0; i &amp;lt; listArray.Length; i++)
     {
          listBox1.Items.Add(listArray[i].ToString());
     }
     &lt;/span&gt;&lt;span style="background: white; color: green;"&gt;// Register for DataRequested events
     &lt;/span&gt;&lt;span style="background: white; color: rgb(43, 145, 175);"&gt;DataTransferManager&lt;/span&gt;&lt;span style="background: white; color: black;"&gt;.GetForCurrentView().DataRequested += OnDataRequested;
}&lt;/span&gt;&lt;/pre&gt;

&lt;h4&gt;在此請注意，GetJSON() 方法中因為至少呼叫一個非同步方法(即 GetStringAsync())，所以在方法的宣告前要加一個 &lt;strong&gt;async&lt;/strong&gt; ；同時在呼叫此 GetJSON() 方法之前得加上一個 &lt;strong&gt;await&lt;/strong&gt; 的關鍵字。 (這部份可參考: &lt;a href="http://msdn.microsoft.com/zh-tw/library/vstudio/hh191443.aspx" target="_blank"&gt;使用 Async 和 Await 設計非同步程式&lt;/a&gt;)&lt;/h4&gt;

&lt;h4&gt;跑起來會長得像這樣:&lt;/h4&gt;

&lt;pre class="code"&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-36-93-metablogapi/0272.image_5F00_72C88164.png" target="_blank"&gt;&lt;img width="644" height="404" title="image" style="display: inline; background-image: none;" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-36-93-metablogapi/1258.image_5F00_thumb_5F00_369F466D.png" border="0" /&gt;&lt;/a&gt;&lt;/pre&gt;

&lt;h4&gt;接下來是實作當使用者點選 ListView 裡的游泳場所後，會在右邊的 WebView 中呈現 選取所在地的 Google 地圖 (透過URI string的方式):&lt;/h4&gt;

&lt;pre class="code"&gt;&lt;span style="background: white; color: blue;"&gt;private void &lt;/span&gt;&lt;span style="background: white; color: black;"&gt;listBox1_Tapped_1(&lt;/span&gt;&lt;span style="background: white; color: blue;"&gt;object &lt;/span&gt;&lt;span style="background: white; color: black;"&gt;sender, &lt;/span&gt;&lt;span style="background: white; color: rgb(43, 145, 175);"&gt;TappedRoutedEventArgs &lt;/span&gt;&lt;span style="background: white; color: black;"&gt;e)
{
      strSelectedList = listBox1.SelectedValue.ToString();
      strSelectedAddress = addrArray[listBox1.SelectedIndex].ToString();
      strSelectedTel = telArray[listBox1.SelectedIndex].ToString();


      webView.Source = &lt;/span&gt;&lt;span style="background: white; color: blue;"&gt;new &lt;/span&gt;&lt;span style="background: white; color: rgb(43, 145, 175);"&gt;Uri&lt;/span&gt;&lt;span style="background: white; color: black;"&gt;(&lt;/span&gt;&lt;span style="background: white; color: rgb(43, 145, 175);"&gt;Uri&lt;/span&gt;&lt;span style="background: white; color: black;"&gt;.EscapeUriString&lt;/span&gt;&lt;/pre&gt;

&lt;pre class="code"&gt;&lt;span style="background: white; color: black;"&gt;(&lt;/span&gt;&lt;span style="background: white; color: rgb(163, 21, 21);"&gt;&amp;quot;https://maps.google.com/?output=embed&amp;amp;num=1&amp;amp;saddr=&amp;quot; &lt;/span&gt;&lt;span style="background: white; color: black;"&gt;+ strSelectedAddress));

      listName.Text = strSelectedList;
      listTel.Text = strSelectedTel;
      listAddr.Text = strSelectedAddress;
}&lt;/span&gt;&lt;/pre&gt;

&lt;h4&gt;使用者點選後就會長得像這樣:&lt;/h4&gt;

&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-36-93-metablogapi/6014.image_5F00_0E2585BB.png" target="_blank"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-36-93-metablogapi/7608.image_5F00_thumb_5F00_11ED6D4F.png" width="644" height="404" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;最後，我想讓使用者能看到由目前所在位置到選取地點的規劃路線，所以實作右下角的 Button 按鈕程式如下:&lt;/h4&gt;

&lt;pre class="code"&gt;&lt;font size="1"&gt;&lt;span style="background: white; color: blue;"&gt;private &lt;font color="#ff0000"&gt;async&lt;/font&gt; void &lt;/span&gt;&lt;span style="background: white; color: black;"&gt;Button_Click_1(&lt;/span&gt;&lt;span style="background: white; color: blue;"&gt;object &lt;/span&gt;&lt;span style="background: white; color: black;"&gt;sender, &lt;/span&gt;&lt;span style="background: white; color: rgb(43, 145, 175);"&gt;RoutedEventArgs &lt;/span&gt;&lt;span style="background: white; color: black;"&gt;e)
{
&lt;/span&gt;&lt;span style="background: white; color: blue;"&gt;     if &lt;/span&gt;&lt;span style="background: white; color: black;"&gt;(strSelectedAddress.Length &amp;gt; 0)
     {
          &lt;/span&gt;&lt;span style="background: white; color: blue;"&gt;if &lt;/span&gt;&lt;span style="background: white; color: black;"&gt;(geo == &lt;/span&gt;&lt;span style="background: white; color: blue;"&gt;null&lt;/span&gt;&lt;span style="background: white; color: black;"&gt;)
          {
               geo = &lt;/span&gt;&lt;span style="background: white; color: blue;"&gt;new &lt;/span&gt;&lt;span style="background: white; color: rgb(43, 145, 175);"&gt;Geolocator&lt;/span&gt;&lt;span style="background: white; color: black;"&gt;();
          }
          &lt;/span&gt;&lt;span style="background: white; color: blue;"&gt;try
          &lt;/span&gt;&lt;span style="background: white; color: black;"&gt;{
               &lt;/span&gt;&lt;span style="background: white; color: rgb(43, 145, 175);"&gt;Geoposition &lt;/span&gt;&lt;span style="background: white; color: black;"&gt;&lt;font color="#ff0000"&gt;pos&lt;/font&gt; = &lt;/span&gt;&lt;span style="background: white; color: blue;"&gt;await &lt;/span&gt;&lt;span style="background: white; color: black;"&gt;geo.&lt;font color="#ff0000"&gt;GetGeopositionAsync&lt;/font&gt;();
               &lt;/span&gt;&lt;span style="background: white; color: blue;"&gt;string &lt;/span&gt;&lt;span style="background: white; color: black;"&gt;strSADDR = pos.Coordinate.Latitude.ToString() + &lt;/span&gt;&lt;span style="background: white; color: rgb(163, 21, 21);"&gt;&amp;quot;,&amp;quot; &lt;/span&gt;&lt;span style="background: white; color: black;"&gt;+ &lt;/span&gt;&lt;/font&gt;&lt;/pre&gt;
&lt;font size="1"&gt;&lt;/font&gt;

&lt;pre class="code"&gt;&lt;font size="1"&gt;&lt;span style="background: white; color: black;"&gt;                                 pos.Coordinate.Longitude.ToString();
               webView.Source = &lt;/span&gt;&lt;span style="background: white; color: blue;"&gt;new &lt;/span&gt;&lt;span style="background: white; color: rgb(43, 145, 175);"&gt;Uri&lt;/span&gt;&lt;span style="background: white; color: black;"&gt;(&lt;/span&gt;&lt;span style="background: white; color: rgb(43, 145, 175);"&gt;Uri&lt;/span&gt;&lt;span style="background: white; color: black;"&gt;.EscapeUriString(&lt;/span&gt;&lt;/font&gt;&lt;/pre&gt;

&lt;pre class="code"&gt;&lt;font size="1"&gt;&lt;span style="background: white; color: black;"&gt;                                 &lt;/span&gt;&lt;span style="background: white; color: rgb(163, 21, 21);"&gt;&amp;quot;https://maps.google.com/?num=1&amp;amp;saddr=&amp;quot; &lt;/span&gt;&lt;span style="background: white; color: black;"&gt;+ &lt;/span&gt;&lt;/font&gt;&lt;/pre&gt;
&lt;font size="1"&gt;&lt;/font&gt;

&lt;pre class="code"&gt;&lt;font size="1"&gt;&lt;span style="background: white; color: black;"&gt;                                 strSADDR + &lt;/span&gt;&lt;span style="background: white; color: rgb(163, 21, 21);"&gt;&amp;quot;&amp;amp;daddr=&amp;quot; &lt;/span&gt;&lt;span style="background: white; color: black;"&gt;+ strSelectedAddress + &lt;/span&gt;&lt;/font&gt;&lt;/pre&gt;

&lt;pre class="code"&gt;&lt;font size="1"&gt;&lt;span style="background: white; color: black;"&gt;                                 &lt;/span&gt;&lt;span style="background: white; color: rgb(163, 21, 21);"&gt;&amp;quot;&amp;amp;dirflg=&amp;quot; &lt;/span&gt;&lt;span style="background: white; color: black;"&gt;+ strDirFlg));
          }
          &lt;/span&gt;&lt;span style="background: white; color: blue;"&gt;catch &lt;/span&gt;&lt;span style="background: white; color: black;"&gt;(&lt;/span&gt;&lt;span style="background: white; color: rgb(43, 145, 175);"&gt;Exception&lt;/span&gt;&lt;span style="background: white; color: black;"&gt;)
          {
               &lt;/span&gt;&lt;span style="background: white; color: blue;"&gt;new &lt;/span&gt;&lt;span style="background: white; color: black;"&gt;Windows.UI.Popups.&lt;/span&gt;&lt;span style="background: white; color: rgb(43, 145, 175);"&gt;MessageDialog&lt;/span&gt;&lt;span style="background: white; color: black;"&gt;(&lt;/span&gt;&lt;/font&gt;&lt;/pre&gt;
&lt;font size="1"&gt;&lt;/font&gt;

&lt;pre class="code"&gt;&lt;span style="background: white; color: black;"&gt;&lt;/span&gt;&lt;span style="background: white; color: rgb(163, 21, 21);"&gt;&lt;font size="1"&gt;            &amp;quot;您的機器沒有定位服務(GPS)或目前服務是關閉的，請透過「設定」快速鍵重新開啟。 &lt;/font&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;font size="1"&gt;&lt;/font&gt;

&lt;pre class="code"&gt;&lt;font size="1"&gt;&lt;span style="background: white; color: rgb(163, 21, 21);"&gt;            \nYour location services are currently turned off. &lt;/span&gt;&lt;/font&gt;&lt;/pre&gt;

&lt;pre class="code"&gt;&lt;font size="1"&gt;&lt;span style="background: white; color: rgb(163, 21, 21);"&gt;            Use the Settings charm to turn them back on.&amp;quot;&lt;/span&gt;&lt;span style="background: white; color: black;"&gt;).ShowAsync();
           }
      }
}&lt;/span&gt;&lt;/font&gt;&lt;/pre&gt;

&lt;h4&gt;各位可以看到我首先取得目前所在位置的經緯度，是透過 Geolocator.GetGeopositionAsync() 這個方法來取得；接下來只是再度重組一個 URI string，透過Google Maps 規劃路線即可。取得目前所在位置細節另可參考&lt;a href="http://blogs.msdn.com/b/mengtsai/archive/2013/03/07/geolocation.aspx" target="_blank"&gt;這篇文章&lt;/a&gt;。&lt;/h4&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;h4&gt;實作之後的執行畫面:&lt;/h4&gt;

&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-36-93-metablogapi/0841.image_5F00_02BDF4EE.png" target="_blank"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-36-93-metablogapi/2084.image_5F00_thumb_5F00_41B496EB.png" width="644" height="404" /&gt;&lt;/a&gt;&amp;#160;&amp;#160; &lt;br /&gt;&lt;/p&gt;

&lt;h4&gt;程式碼: &lt;a href="http://sdrv.ms/ZzMsuo" target="_blank"&gt;http://sdrv.ms/ZzMsuo&lt;/a&gt;&lt;/h4&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;h4&gt;附註: 台灣目前一些公開資訊開放平台: &lt;a href="http://data.coa.gov.tw/"&gt;行政院農委會開放資料平台&lt;/a&gt;、&lt;a href="http://data.taipei.gov.tw/"&gt;台北市政府&lt;/a&gt;、&lt;a href="http://data.ntpc.gov.tw/NTPC/"&gt;新北市政府&lt;/a&gt;、&lt;a href="http://data.taichung.gov.tw/GipOpenWeb/wSite/mp?mp=1"&gt;台中市&lt;/a&gt;、&lt;a href="http://odata.tn.edu.tw/"&gt;台南市教育局&lt;/a&gt;、&lt;a href="http://cloud.culture.tw/opendata/"&gt;文化部&lt;/a&gt;與&lt;a href="http://www.digitimes.com.tw/tw/dt/n/shwnws.asp?id=0000325436_KZ43H7304HS32D51MZJ4Y&amp;amp;ct=1"&gt;臺灣中央政府的資料入口網站「data.gov.tw 」&lt;/a&gt;。&lt;/h4&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10409906" width="1" height="1"&gt;</content><author><name>mengruts</name><uri>http://blogs.msdn.com/mengruts/ProfileUrlRedirect.ashx</uri></author><category term="Windows 8" scheme="http://blogs.msdn.com/b/mengtsai/archive/tags/Windows+8/" /><category term="Windows Store" scheme="http://blogs.msdn.com/b/mengtsai/archive/tags/Windows+Store/" /><category term="Geolocation" scheme="http://blogs.msdn.com/b/mengtsai/archive/tags/Geolocation/" /><category term="JSON" scheme="http://blogs.msdn.com/b/mengtsai/archive/tags/JSON/" /><category term="LBS" scheme="http://blogs.msdn.com/b/mengtsai/archive/tags/LBS/" /></entry><entry><title>關於 WebView: 10 件你需要知道的事</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/mengtsai/archive/2013/03/12/webview-10.aspx" /><id>http://blogs.msdn.com/b/mengtsai/archive/2013/03/12/webview-10.aspx</id><published>2013-03-12T11:08:10Z</published><updated>2013-03-12T11:08:10Z</updated><content type="html">&lt;ol&gt;   &lt;h5&gt;&lt;a href="http://blogs.msdn.com/b/wsdevsol/archive/2012/10/18/nine-things-you-need-to-know-about-webview.aspx" target="_blank"&gt;Ten Things You Need to Know About WebView&lt;/a&gt; 是美國微軟資深工程師 Matt Small 發表的文章，我發現有幾點特別值得提出來說明，讓大家更了解 WebView 在 Windows Store App 的應用，希望對大家有幫助；其文後有他的範例程式碼供下載。&lt;/h5&gt;    &lt;h5&gt;以下是他列出的 10 點需要注意的事:&lt;/h5&gt;    &lt;ol&gt;&lt;/ol&gt;    &lt;li&gt;     &lt;h5&gt;&lt;strong&gt;&lt;a href="http://blogs.msdn.com/b/wsdevsol/archive/2012/10/18/nine-things-you-need-to-know-about-webview.aspx#AN1"&gt;&lt;font size="3"&gt;WebView is not a general-purpose browser&lt;/font&gt;&lt;/a&gt;&lt;/strong&gt;&lt;/h5&gt;   &lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;       &lt;h5&gt;WebView 這個控制項的目的，是讓你能&lt;font style="font-weight: bold;"&gt;在 App 裡，連結到某個特定的網頁，以達到此 App 所欲提供的功能&lt;/font&gt;；而非讓使用者能任意瀏覽任何網頁。舉例來說，如果有些特定資訊可能會時常變動 (如即時路況等)，與其重新上架你的 App，將這資訊放在 WebView 當然比較適當；但如果你的 App 只是純粹作為一個入口，僅是讓使用者透過 WebView 瀏覽到某個網站首頁，再讓使用者在網站中任意點選連結的話，是非常有可能在上架審查中被退件的。&lt;/h5&gt;     &lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;     &lt;h5&gt;&lt;strong&gt;&lt;a href="http://blogs.msdn.com/b/wsdevsol/archive/2012/10/18/nine-things-you-need-to-know-about-webview.aspx#AN2"&gt;&lt;font size="3"&gt;WebView always renders on top of XAML&lt;/font&gt;&lt;/a&gt;&lt;/strong&gt;&lt;/h5&gt;   &lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;       &lt;h5&gt;這點還滿有趣的，你會發現在 XAML 中 WebView 不論放在什麼位置，程式跑起來時 WebView 一定會擋在所有的控制項之上。原因是 WebView 並非 Control object 的 subclass 的關係；原文連結裡有解法可參考。&lt;/h5&gt;     &lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;     &lt;h5&gt;&lt;strong&gt;&lt;a href="http://blogs.msdn.com/b/wsdevsol/archive/2012/10/18/nine-things-you-need-to-know-about-webview.aspx#AN3"&gt;&lt;font size="3"&gt;WebView doesn’t do Flash.&amp;#160; Or Silverlight.&amp;#160; Or PDF.&amp;#160; Or any other ActiveX control or plugin.&lt;/font&gt;&lt;/a&gt;&lt;/strong&gt;&lt;/h5&gt;   &lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;       &lt;h5&gt;如第1點所言， WebView 並非是一個完整的瀏覽器，為了穩定性及效能的原因並不支援 Flash, Silverlight, PDF or ActiveX，同時「目前」也不支援某些 HTML5 的功能，如 AppCache, IndexedDB, programmatic access to the Clipboard, or geolocation.&lt;/h5&gt;     &lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;     &lt;h5&gt;&lt;strong&gt;&lt;a href="http://blogs.msdn.com/b/wsdevsol/archive/2012/10/18/nine-things-you-need-to-know-about-webview.aspx#AN4"&gt;&lt;font size="3"&gt;How to invoke Javascript inside the displayed webpage of a Webview&lt;/font&gt;&lt;/a&gt;&lt;/strong&gt;&lt;/h5&gt;   &lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;       &lt;h5&gt;簡單來說 WebView 可以&lt;font style="font-weight: bold;"&gt;透過 ms-appx-web 讀取並展示已包含在你的 App 專案中的 HTML 檔案&lt;/font&gt;，甚至執行其中的 JavaScript 副程式。而以下的 5, 6, 8 三點都算是延伸此點的應用。&lt;/h5&gt;     &lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;     &lt;h5&gt;&lt;strong&gt;&lt;a href="http://blogs.msdn.com/b/wsdevsol/archive/2012/10/18/nine-things-you-need-to-know-about-webview.aspx#AN5"&gt;&lt;font size="3"&gt;How to receive information from the WebView&lt;/font&gt;&lt;/a&gt;&lt;/strong&gt;&lt;/h5&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;h5&gt;&lt;strong&gt;&lt;a href="http://blogs.msdn.com/b/wsdevsol/archive/2012/10/18/nine-things-you-need-to-know-about-webview.aspx#AN6"&gt;&lt;font size="3"&gt;How to inject javascript into a WebView page&lt;/font&gt;&lt;/a&gt;&lt;/strong&gt;&lt;/h5&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;h5&gt;&lt;strong&gt;&lt;a href="http://blogs.msdn.com/b/wsdevsol/archive/2012/10/18/nine-things-you-need-to-know-about-webview.aspx#AN7"&gt;&lt;font size="3"&gt;How to clear the WebView cache&lt;/font&gt;&lt;/a&gt;&lt;/strong&gt;&lt;/h5&gt;   &lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;       &lt;h5&gt;很不幸的，並無法透過程式的方式來清除 WebView cache，只能透過 command line 的方式: C:\Users\&amp;lt;username&amp;gt;\AppData\Local\Packages\&amp;lt;PackageName&amp;gt;\Attrib –H –S /S /D&lt;/h5&gt;     &lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;     &lt;h5&gt;&lt;strong&gt;&lt;a href="http://blogs.msdn.com/b/wsdevsol/archive/2012/10/18/nine-things-you-need-to-know-about-webview.aspx#AN8"&gt;&lt;font size="3"&gt;How to embed a font into your app to be used by WebView&lt;/font&gt;&lt;/a&gt;&lt;/strong&gt;&lt;/h5&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;h5&gt;&lt;strong&gt;&lt;a href="http://blogs.msdn.com/b/wsdevsol/archive/2012/10/18/nine-things-you-need-to-know-about-webview.aspx#AN9"&gt;&lt;font size="3"&gt;Launching other apps from a link inside WebView&lt;/font&gt;&lt;/a&gt;&lt;/strong&gt;&lt;/h5&gt;   &lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;       &lt;h5&gt;如何在 WebView link 中開啟其他的 App 呢? 其實 Windows Store Apps 是沒有辦法「直接」開啟某個 App 的，但能透過 Extension handlers 的「間接」方式來開啟某特定 App，也就是設定某副檔名 (extension) 的檔案 (如：.jpeg 檔) 可以用某個 App 開啟。如以下在專案的 .appxmanifest &amp;gt;「宣告」&amp;gt;「檔案類型宣告」作設定即可:&lt;/h5&gt;     &lt;/li&gt;      &lt;li&gt;       &lt;h5&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-36-93-metablogapi/6136.image_5F00_50E54B32.png"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-36-93-metablogapi/6136.image_5F00_thumb_5F00_2DB7E080.png" width="644" height="471" /&gt;&lt;/a&gt;&lt;/h5&gt;     &lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;     &lt;h5&gt;&lt;strong&gt;&lt;a href="http://blogs.msdn.com/b/wsdevsol/archive/2012/10/18/nine-things-you-need-to-know-about-webview.aspx#AN10"&gt;&lt;font size="3"&gt;How to get rid of those annoying JavaScript exceptions when debugging&lt;/font&gt;&lt;/a&gt;&lt;/strong&gt;&lt;/h5&gt;   &lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;       &lt;h5&gt;在 debug 時當 WebView 瀏覽到的網頁出現 JavaScript 例外，會出現 Just-In-Time Debugger 的惱人錯誤 (&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-55-85/8688.DebuggerDialog.PNG" target="_blank"&gt;如例圖&lt;/a&gt;)，要關掉它很簡單，只要在 Visual Studio 2012 中作以下設定即可:&lt;/h5&gt;     &lt;/li&gt;      &lt;li&gt;       &lt;h5&gt;Debug &amp;gt; Options and Settings &amp;gt; Debugging &amp;gt; Just-In-Time &amp;gt; &lt;font style="font-weight: bold;"&gt;Uncheck &amp;quot;Script&amp;quot;&lt;/font&gt;&lt;/h5&gt;     &lt;/li&gt;      &lt;li&gt;       &lt;h5 align="left"&gt;偵錯 &amp;gt; 選項和設定&amp;gt; 偵錯 &amp;gt; Just-In-Tim &amp;gt; &lt;font style="font-weight: bold;"&gt;取消勾選「指令���」&lt;/font&gt;&lt;/h5&gt;     &lt;/li&gt;      &lt;h5&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-36-93-metablogapi/3225.image_5F00_53B02187.png"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-36-93-metablogapi/2235.image_5F00_thumb_5F00_3EC12FC5.png" width="644" height="408" /&gt;&lt;/a&gt;&lt;/h5&gt;      &lt;h5&gt;其實以上大部份的內容在 &lt;a href="http://msdn.microsoft.com/zh-tw/library/windows/apps/windows.ui.xaml.controls.webview.aspx" target="_blank"&gt;WebView 的 MSDN 官方文件&lt;/a&gt;的 Remakrs 段落中都有說明，只是可能沒有很細節的描述，在此也一併轉貼如下給大家參考:&lt;/h5&gt;      &lt;blockquote&gt;       &lt;h5&gt;Remarks&lt;/h5&gt;        &lt;h5&gt;&lt;strong&gt;WebView&lt;/strong&gt; is not a &lt;a href="http://msdn.microsoft.com/zh-tw/library/windows/apps/windows.ui.xaml.controls.control.aspx"&gt;&lt;strong&gt;Control&lt;/strong&gt;&lt;/a&gt; subclass and thus does not have a control template. The display area is the &lt;a href="http://msdn.microsoft.com/zh-tw/library/windows/apps/windows.ui.xaml.frameworkelement.width.aspx"&gt;&lt;strong&gt;Width&lt;/strong&gt;&lt;/a&gt; and &lt;a href="http://msdn.microsoft.com/zh-tw/library/windows/apps/windows.ui.xaml.frameworkelement.height.aspx"&gt;&lt;strong&gt;Height&lt;/strong&gt;&lt;/a&gt;. &lt;/h5&gt;        &lt;h5&gt;&lt;strong&gt;WebView&lt;/strong&gt; has the characteristic that other UI regions such as &lt;u&gt;controls cannot be rendered on top of the &lt;strong&gt;WebView&lt;/strong&gt;&lt;/u&gt;. This is because of how window regions are handled internally, particularly how input events are processed and how the screen draws. If you want to render HTML content and also place other UI elements on top of that HTML content, you should use &lt;a href="http://msdn.microsoft.com/zh-tw/library/windows/apps/windows.ui.xaml.controls.webviewbrush.aspx"&gt;&lt;strong&gt;WebViewBrush&lt;/strong&gt;&lt;/a&gt; as the render area. The &lt;strong&gt;WebView&lt;/strong&gt; still provides the HTML source information, and you reference that &lt;strong&gt;WebView&lt;/strong&gt; through the &lt;a href="http://msdn.microsoft.com/zh-tw/library/windows/apps/windows.ui.xaml.controls.webviewbrush.sourcename.aspx"&gt;&lt;strong&gt;SourceName&lt;/strong&gt;&lt;/a&gt; property. &lt;strong&gt;WebViewBrush&lt;/strong&gt; does not have this overlay limitation. &lt;/h5&gt;        &lt;h5&gt;If you want to display an interactive &lt;strong&gt;WebView&lt;/strong&gt; that only occasionally has overlapping content (such as a drop-down list or app bar), you can temporarily hide the &lt;strong&gt;WebView&lt;/strong&gt; control when necessary, replacing it with an element using a &lt;a href="http://msdn.microsoft.com/zh-tw/library/windows/apps/windows.ui.xaml.controls.webviewbrush.aspx"&gt;&lt;strong&gt;WebViewBrush&lt;/strong&gt;&lt;/a&gt; fill. Then, when the overlapping content is no longer present, you can display the original &lt;strong&gt;WebView&lt;/strong&gt; again. For more info, see the &lt;a href="http://go.microsoft.com/fwlink/p/?linkid=238582"&gt;WebView control sample&lt;/a&gt;.&lt;/h5&gt;        &lt;h5&gt;&lt;u&gt;&lt;strong&gt;WebView&lt;/strong&gt; doesn’t support many of the &lt;/u&gt;&lt;a href="http://msdn.microsoft.com/zh-tw/library/windows/apps/windows.ui.xaml.uielement.aspx"&gt;&lt;strong&gt;&lt;u&gt;UIElement&lt;/u&gt;&lt;/strong&gt;&lt;/a&gt;&lt;u&gt; events like &lt;/u&gt;&lt;a href="http://msdn.microsoft.com/zh-tw/library/windows/apps/windows.ui.xaml.uielement.keydown.aspx"&gt;&lt;strong&gt;&lt;u&gt;KeyDown&lt;/u&gt;&lt;/strong&gt;&lt;/a&gt;&lt;u&gt;, &lt;/u&gt;&lt;a href="http://msdn.microsoft.com/zh-tw/library/windows/apps/windows.ui.xaml.uielement.keyup.aspx"&gt;&lt;strong&gt;&lt;u&gt;KeyUp&lt;/u&gt;&lt;/strong&gt;&lt;/a&gt;&lt;u&gt;, and &lt;/u&gt;&lt;a href="http://msdn.microsoft.com/zh-tw/library/windows/apps/windows.ui.xaml.uielement.pointerpressed.aspx"&gt;&lt;strong&gt;&lt;u&gt;PointerPressed&lt;/u&gt;&lt;/strong&gt;&lt;/a&gt;&lt;u&gt;. A common workaround to this problem is to use &lt;/u&gt;&lt;a href="http://msdn.microsoft.com/zh-tw/library/windows/apps/windows.ui.xaml.controls.webview.invokescript.aspx"&gt;&lt;strong&gt;&lt;u&gt;WebView.InvokeScript&lt;/u&gt;&lt;/strong&gt;&lt;/a&gt; with &lt;strong&gt;eval&lt;/strong&gt; to use the HTML event handlers, and to use &lt;strong&gt;window.external.notify&lt;/strong&gt; from the HTML event handler to notify the application using &lt;a href="http://msdn.microsoft.com/zh-tw/library/windows/apps/windows.ui.xaml.controls.webview.scriptnotify.aspx"&gt;&lt;strong&gt;WebView.ScriptNotify&lt;/strong&gt;&lt;/a&gt;.&lt;/h5&gt;        &lt;h5&gt;&lt;strong&gt;Note&lt;/strong&gt; &lt;strong&gt;WebView&lt;/strong&gt; always uses Internet Explorer 10 in document mode. Additionally, &lt;u&gt;&lt;strong&gt;WebView&lt;/strong&gt; does not currently support some HTML5 features including AppCache, IndexedDB, programmatic access to the Clipboard, or geolocation&lt;/u&gt;. Furthermore, &lt;strong&gt;WebView&lt;/strong&gt; does not support the &lt;strong&gt;ms-appdata&lt;/strong&gt; scheme, although it does &lt;u&gt;support the &lt;strong&gt;ms-appx-web&lt;/strong&gt; scheme. This enables you to load content files in your project.&lt;/u&gt; &lt;/h5&gt;     &lt;/blockquote&gt;      &lt;ol&gt;&lt;/ol&gt;   &lt;/ul&gt; &lt;/ol&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10401543" width="1" height="1"&gt;</content><author><name>mengruts</name><uri>http://blogs.msdn.com/mengruts/ProfileUrlRedirect.ashx</uri></author><category term="Windows 8" scheme="http://blogs.msdn.com/b/mengtsai/archive/tags/Windows+8/" /><category term="Windows Store" scheme="http://blogs.msdn.com/b/mengtsai/archive/tags/Windows+Store/" /><category term="WebView" scheme="http://blogs.msdn.com/b/mengtsai/archive/tags/WebView/" /></entry></feed>