サンプルデータを作るプラクティス的な何か
Blendでデザイン調整するときに絶対あったほうがいいサンプルデータ。あれこれ試して、いちばんさくっと作れた方法をまとめます。
大まかな順番
文字列をバインドしておけばOKな簡単なものならこれでいけます。多少複雑でも同じようなノリでいけますが、文字列や数値以外からのコンバートが必要なものについてはこの作戦は使いにくいと思います。最初の2つは大丈夫だと思うので、3つ目から見てみましょう。
バインドするプロパティをまとめてXMLにする
とりあえず表紙画像をタイル状に表示して、タイトルと作者をちらっとバインドさせたいとしましょう。そうしたらこんな感じのXML書いておけばいけると思います。
<BookSample> <Books> <Book> <CoverPath>/sample/hoge.jpg</CoverPath> <Title>羅生門</Title> <Author>太宰治</Author> </Book> <Book> <CoverPath>/sample/hoge.jpg</CoverPath> <Title>人間失格</Title> <Author>太宰治</Author> </Book> </Books> </BookSample>
バインドしたいプロパティを要素名にし、値をテキスト要素に書きます。同じ名前の要素を2つ以上並べるとコレクションとして判定されます。上の例でいうとBooksはBookという型の値のコレクションだという判定がなされます。BooksをItemsSourceとしたコレクションコントロールのItemTemplateに渡されるDataContextは上の例でいうとBookをルートとしたデータになります。なので、今回はわかりやすくBookという名前にしてありますが、ここに限っていえば別にItemでもいいですし、誤解を招きそうですがMusicでも構いません。
適当にテキスト要素を突っ込む
はい、読んでそのままです。ここは後で調整したり、コレクションの要素を増やしたり減らしたりもできるのですが、とりえあず入れておくとサンプルデータをあとで量産できなかったときの保険として使えます。