2010年11月2日 星期二

Windows Phone 用圖要領

開發 Windows Phone 7 專案往往必須改變軟體開啟時的 Splash 與 Logo
而更改 Splash、Logo、Background 的方式就是修改專案中附的這幾個檔案

ApplicationIcon.png
Background.png
SplashScreenImage.jpg

若是使用直接開啟編輯的方式蓋過通常不會發生什麼狀況,
但若是在 Solution Explorer 中將這三張圖刪掉重新加入圖片,
往往會發生 Splash 一片黑等狀況,即是專案 Load 不到該圖檔,
這時只好用異常的專案與正常的專案交互檢查差異在哪裡,
發現在每個 Project 都有的一個 ProjectName.csproj 檔案,
裡面會以 xml 記載此專案的設定,其中有一個 tag 叫 ItemGroup,
內會記錄 Reference、Resource、Content 等資訊。

上述的三張圖在加入到專案時會被以 Resource 的方式加進來,
這會導致 App 在開啟判斷為檔案不存在,
因為這三張圖的必須指定為 Content 資源,
更改的方法是在 Resource 視窗中對該資源按右鍵選 Properties,
將 Build Action 改為 Content,再開啟 ProjectName.csproj 檔查看,
會由 Resource include 更改為


<Content Include="ApplicationIcon.png">
  <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Background.png">
    <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="SplashScreenImage.jpg" />


此外,WP7 若是建立 Menu 時要指定 icon 圖片也一樣
即是 shell:ApplicationBarIconButton 的 IconUri
在將圖片加入資源後也記得將 Properties 改為 Contnet
例如


<Content Include="img\menu\menu_save.png" />
<Content Include="img\menu\menu_add.png" />
<Content Include="img\menu\menu_delete.png" />

沒有留言:

張貼留言