TileのUIを変更して追加]ボタンがクリックされた時の処理に移ります。Tileを追加]ボタンをクリックすると、ホーム画面上にタイルが追加されていきます。同じTitleのタイルは追加できませんので注意してください。追加されたタイルをクリックすると、SubPage.xamlに遷移し、追加したタイルのタイトルが表示されます(図7)。図7:セカンダリタイルが順次追加される。縦向きページ」を追加します。表示されるエミュレーターのデザイン画面上に、ツールボックスからコントロールを配置します。先の図6のように配置します。各コントロールに付けているNameも図6に同じです。図6を参照してください。PageTitleという名前のTerxtBlockも削除しています。Tileの変更」と指定しています。Tileを追加」と指定します。Buttonコントロールは初期の状態では、[共通]パネルにあるIsEnabledのチェックを外し、使用不可としておきます。縦向きページ」を追加します。表示されるエミュレーターのデザイン画面上に、ツールボックスからTextBlockコントロールを1個だけ配置します。Foreground(文字色)にGoldを指定し、文字サイズに56と指定しておきます(図8)。図8:TextBlockを配置し文字色と文字サイズを設定した(クリックで拡大)ソリューションエクスプローラー内のChangeSecondaryTilePage.xamlを展開し、ChangeSecondaryTilePage.xaml.vbをダブルクリックして、リスト6のコードを記述します。Sub新しいClass1のインスタンスtileClassオブジェクトをメンバ変数として宣言します。新しいItemAddClassクラスのインスタンスitemClassを生成し、ItemAdd関数を呼び出して、ListBox1のItemSourceに指定します。タイルの項目名の一覧が表示されます。SubListBoxから項目名が選択された時の処理Class1のインスタンスからTileXmlDataRead関数を呼び出し、ListBoxのSelectedIndexに該当する<Info>要素の子要素<Title>の値を変数myTitleに格納します。同様にmyBackgroundImageに<BackgroundImage>要素の値、myCountに<Count>要素の値、myBackTitleに<BackTitle>要素の値、myBackBackgroundImageに<BackBackgroundImage>要素の値、myBackContentに<BackContent>要素の値を、それぞれ格納しておきます。TitleTextBoxという名前のTextBoxのTextプロパティにmyTitle変数の値を指定します。BackgroundImageという名前のImageのSourceプロパティに、Image/というフォルダ名を連結して、myBackgroundImage変数の値を相対URIで指定します。CountTextBoxという名前のTextBoxにはmyCount変数の値を指定します。BackTitleTextBoxという名前のTextBoxには、myBackTitle変数の値を指定します。BackBackgroundImageという名前のImageのSourceプロパティに、Image/というフォルダ名を連結して、myBackBackgroundImage変数の値を相対URIで指定します。BackContentTextBoxという名前のTextBoxには、myBackContent変数の値を指定します。Tileを追加]というボタンの使用を可能にします。Tileを追加]ボタンがクリックされた時の処理BackgroundImageという名前のImageコントロールの、Sourceプロパティの値を、DirectCastでBitmapImageにキャストし、backSource変数で参照します。フォルダ名Image/と連結されたPNG画像名が取得されます。同様に、BackBackgroundImageという名前のImageコントロールのUriソースも取得しておきます。StandardTileDataクラスの「Title」、「BackgroundImage」、「Count」、「BackTitle」、「BackBackgroundImage」、「BackContent」プロパティに、先に取得しておいた変数の値を指定します。BitmapImageのUriソースはToStringで文字列に変換してUriに相対Uriで指定します。任意のタイルがクリックされた時、タイトルを引数にSubPage.xamlに遷移するようUriを定義しておきます。Createメソッドで新しいセカンダリタイルを作成します。Createメソッドの書式は下記の通りです。ShellTile.Create(作成されるタイルのURI。URIは、独自の起動パラメーターを含めることが可能(System.Uri),作成されたタイルのテキストとイメージの情報(Microsoft.Phone.Shell.ShellTileData))タイトル名が同じタイルが追加された時は、警告メッセージを出して処理を抜けます。Class今回はクラスファイルを2個、別個に作成していますが、1つのクラスファイル内に複数の関数を定義して呼び出しても構いません。薬師寺国安(VBプログラマ)と、薬師寺聖(デザイナ、エンジニア)によるコラボレーション・ユニット。HTMLとDirectAnimationの普及を目的として結成。共同開発やユニット名義での執筆活動を行う。XMLおよび.NETに関する著書や連載多数。ITでは、より付加価値の高いコンテンツを会員サービスとして提供しています。ITのWebサイトにログインすることでさまざまな限定特典を入手できるようになります。「コンテナ」の概要を知る2020/2/21設計/手法/テスト技術解説データ中心設計(DOA)に基づいたデータモデリング2020/2/20クラウド技術解説Rancherコードリーディング入門(3/3)2020/2/19開発ツールイベントGitHub、エンタープライズ向けのイベントを国内で開催。VeloCloudが選ばれる理由SD-WANとはなにか。Linuxエンジニア育成への思いF5とNGINXの組み合わせで、サービス公開をよりセキュアに。ITがお届けするポッドキャストです。