WP7アプリ作ってて悩んだ箇所のメモ程度に。
将来誰かが同じ問題で悩んだときに、少しでも参考になれば。
・Silverlight for Windows Phone Toolkit のコントロールを配置する
具体的に言うと「DatePicker」を配置したくて、ツールボックスに並んでなかったのでちょっと悩んでしまったのですが、ググってみたところSilverlight for Windows Phone Toolkitの中に含まれているらしいです。ふむ。
これを使えるようにするにはまず、Silverlight for Windows Phone Toolkitを開発マシンにインストールします。最新のものを導入したほうがいいと思うので、リンクは張りません。ググればすぐダウンロードページ出てくるのでそこから導入してください。
で、次にプロジェクトの参照に以下の参照を追加します。(ソリューションエクスプローラーのReferencesを右クリックしてAdd References)
Microsoft.Phone.Controls.Toolkit
次はコントロールを貼り付けたいPageのXAMLを開いて、「phone:PhoneApplicationPage」のxmlns:~~ ってのが並んでいる箇所に以下の構文を追加します。
xmlns:toolkit="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone.Controls.Toolkit"
最後。以下のような構文でXAMLに直書きします。<>を全角で書いてあるのでコピペの場合は注意。
<toolkit:DatePicker Height="65" HorizontalAlignment="Left" Margin="10,10,0,0" Name="testDatePicker" VerticalAlignment="Top" Width="169" FontSize="12" />
(一度、適当なテキストボックスなどを作成し、その頭の部分の「TextBlock」だけを「toolkit:DatePicker」って書き換えてやるのが簡単かと思います)
この、最後の部分が最初よくわからなくて悩んでしまいました。当初はSilverlight for Windows Phone Toolkitをインストールすればツールボックスに表示されるようになるのだと、思い込んでいたものでして。
とりあえずこの方法で追加してしまえば、後は普通のコントロールと同様に扱えます。MSさんDatePickerは標準に採用してくださいです……個人的にはMapよりも使用頻度が高いと思うのですがいかがか。
※追記----------------
2011.07.18
Datepickerを表示したときのアプリケーションバーのアイコン画像は場所とファイル名が決められています。なので、それをこちらから用意してやらないと、表示されません。
アイコン画像はToolkitをインストールしたところにあります。
(64bit環境でデフォルトの場所なら多分、 C:\Program Files (x86)\Microsoft SDKs\Windows Phone\v7.0\Toolkit\Feb11\Bin のIconsフォルダ内)
これを、ソリューションエクスプローラーから新しく「Toolkit.Content」という名前のフォルダを用意してやって、その中にコピーして使用します。次の項目に書いてあるのと同じようにプロパティを設定してやってビルドすれば表示されるようになります。
多分これはSilverlight Toolkitのほかのコントロールも一緒だと思います。検証してませんけど。
あとこの情報は、Toolkitのサンプルにしっかり載っていました。わからないことがあったらまずはサンプルを見てみましょう。
(kazuakix様、助言ありがとうございました)
※----------------追記ここまで
・アプリケーションバーは、デフォルトではコメントアウトされている!
タイトルのまんま。
XAMLの下のほうに、「<!--Sample code showing usage of ApplicationBar-->」ってなってる部分があります。この下に書いてある部分をコメント解除すれば、表示されるようになります。このアプリケーションバーに関しては、基本的にXAMLで弄るしか手はないようです。ちなみに私はXAMLはWP7ではじめて触るので、わからんことも多いですが、大体はフィーリングでどうにかなってます!Σd(・∀・)
あ、あと注意点としては、ボタンに指定するアイコンはプロジェクトに取り込んでおく必要があります。WP7標準なボタンは「C:\Program Files (x86)\Microsoft SDKs\Windows Phone\v7.0\Icons」に入ってますので、それを取り込めばOK。(上のパスは64bit環境のものです)
尚、取り込んだ後にそのアイコン画像のプロパティでBuild Actionを「Content」に、Copy to Output Directoryを「Copy if newer」にするの忘れずに。
今のところはこんなもんです。
なんかあったらまた追記するかもしれません。
着想から下絵へ、そして実際のものへ。
0 件のコメント:
コメントを投稿