本稿では、Windowsフォームアプリ/WPFアプリをWindows 8.1のスタート画面に登録したときに、そのタイル表示をカスタマイズする方法を解説する。
対象:Windows 8.1以降*1
WPFやWindowsフォームなどのデスクトップ用のプログラムを作っていると、Windows 8.1にインストールしてがっかりしたことはないだろうか? スタート画面にピン留めしたとき、そのタイルに使われるアイコンがずいぶん小さいのだ(次の画像)。プログラムのアイコンとして256×256ドットなどの大きな画像を含めていても、大きく表示してくれないのである。
そこで本稿では、次の画像のようにスタート画面に表示されるタイルをカスタマイズする方法を紹介しよう。ただし、残念ながら本稿執筆時点のWindows 10では動作しない*1。
*1 2015年7月版のWindows 10(build 10240)では動作しない。インサイダープレビュー版の初期のころには動いていたのだが、build 9926から動かなくなったと報告されている。Windows 10の今後のアップデートで再び動作するようになることを期待したい。
デスクトッププログラムをスタート画面にピン留めしたタイルでは、以下の設定をカスタマイズできる。
スタート画面のタイルは、エンドユーザーがそのサイズを変更できる。サイズには小/中/ワイド/大の4種類あるのだが、デスクトッププログラムではそのうちの小/中だけが使える(ワイド/大はライブタイル専用であるという考えのようだ)。
中タイルでは、タイル下端のプログラム名を非表示にできる。プログラム名を表示する場合の文字の色は、白っぽい色(light)か黒っぽい色(dark)を指定できる。
中タイルの画像は、標準では150×150ドットのものを用意する。小タイルでは70×70ドットだ。画像に透明の部分があると、そこには指定したタイルの背景色が使われる。利用できる画像フォーマットは、PNG/JPEG/GIFである(BMPフォーマットやICOフォーマットのファイルは使えない)。また、画像ファイルには、サイズがそれぞれ200KBytes以下という制限があるので注意してほしい。
画像を除く3項目は必須である。すなわち、カスタマイズをするならば、タイルの背景色/プログラム名の表示状態/プログラム名の表示色の三つは必ず指定しなければならない(プログラム名を表示しないのならばその表示色の指定には意味がないが、そうなっている)。画像は二つとも指定するか、二つとも省略するかのどちらかだ。二つとも指定しなければ、プログラムのアイコンが使われる。
それでは、上に挙げた5項目を全てカスタマイズしてみよう。
まずタイルに使う画像を用意する。欲をいえば、画面の解像度やハイコントラスト設定に合わせた複数の画像を用意するとよいのだが*2、ここでは標準のサイズだけとした(次の画像)。
*2 詳しくはMSDN「デスクトップ アプリのスタート画面のタイルをカスタマイズする方法〜ステップ 5: 画像を指定する」を参照してほしい。
さて、実際にカスタマイズをする方法だが、プログラムを変更する必要はない。実行ファイルと同じ場所に設定ファイル(後述)と画像ファイルを追加できればよいのだ。ここではWindowsフォームのプロジェクトを使おう(WPFでも同様である)。プロジェクトのコンテンツとして設定ファイルと画像ファイルを追加し、ビルドしたら実行ファイルと同じ場所に設定ファイルと画像ファイルも入るようにする。
プロジェクトに、「Assets」というフォルダーを作り、そこに上の二つの画像を入れる。プロジェクトのルートフォルダーにXMLファイル(またはテキストファイル)を追加し、ファイル名を「{実行ファイルのベース名}.VisualElementsManifest.xml」に変える(これが設定ファイルになる)。そうしたら、画像ファイルとXMLファイルの全てで、プロパティを変更する。全て、[ビルド アクション]を[コンテンツ]にし、[出力ディレクトリにコピー]を[新しい場合にコピーする]にしておく(次の画像)。
そうしたら、「{実行ファイル名}.VisualElementsManifest.xml」ファイルを開き、次のようなXMLコードを記述する。
<Application xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<VisualElements
BackgroundColor="#00A2E8"
ShowNameOnSquare150x150Logo="on"
ForegroundText="light"
Square150x150Logo="Assets\150x150Logo.png"
Square70x70Logo="Assets\70x70Logo.png" />
</Application>
これで作業は完了である。ビルドしてみると、出力フォルダーの内容は次の画像のようになる。
今回はインストールパッケージを作っていないので*3、出来上がった実行ファイルを直接スタート画面に登録する。ローカルディスクに配置した実行ファイルをエクスプローラーで表示し、右クリックして[スタートにピン留め]を選ぶ。すると、冒頭から二つ目の画像のようにカスタマイズされたタイルがスタート画面に表示されるはずだ。
なお、スタート画面にピン留めすると、実行ファイルへのショートカットが自動的に生成される。カスタマイズ内容を変更したときにこのショートカットファイルのタイムスタンプに変化がないと、カスタマイズ内容が反映されない場合がある。そのときは、ショートカットを削除してから、もう一度スタート画面にピン留めすればよい。ショートカットの場所は、スタート画面のタイルを右クリックしてコンテキストメニューから[ファイルの場所を開く]を選択すればエクスプローラーでそのフォルダーが開く。
*3 Visual Studioの発行ウィザードでパッケージを作成する場合、既定のままでは「{実行ファイルのベース名}.VisualElementsManifest.xml」ファイルがインストールされないようだ(Visual Studio 2012で確認)。あらかじめ、プロジェクトのプロパティの[発行]タブにある[アプリケーション ファイル]ボタンを使って、このファイルの[発行の状況]を[含む]に変えておく。
Windows 8.1では、従来のデスクトップ用プログラムでも、スタート画面に表示されるタイルをカスタマイズできる。そのためにプログラムを変更する必要はなく、ただ画像ファイルと設定ファイルを追加するだけだ。
利用可能バージョン:.NET Framework 全バージョン
カテゴリ:Windowsフォーム 処理対象:リソース
カテゴリ:WPF 処理対象:リソース
関連TIPS:アプリケーションに独自のアイコンを設定するには?
Copyright© Digital Advantage Corp. All Rights Reserved.