レイアウトのお話です。使って、なんとなく作りたいとイメージしていたレイアウトを実現しました。レイアウトを次に示します。コードは次のとおりです。]]>配置したボタンをそれぞれのコントロールと交換していきます。メニューと3Dビューのイメージコントロールを置き換えます。レイアウト変更を確認しました。ツリーコントロールについて少し調べてみましょう。<調査>大変素晴らしいページを見つけました。TreeViewをバインディングするほか、ノードにチェックボックスとアイコンイメージを付ける方法も試しました。コードは次のとおり]]>ほかにも、色指定でアイコンを表示したりする方法も調査しました。ブラシの概要おおむね、やりたいと思っていたことがこれで可能ということがわかりました。コードは次のとおり]]>では、実装を進めます。テストで色々汚してしまいましたが、基底となるツリーノードはラベルと子ノードリストのみを持つようにし派生したノードに以下のものを用意します。リソースに列挙しそれぞれのバインド先のクラスを作成します。ノードメッシュプリミティブ頂点バッファインデックスリストエフェクトファイルマテリアルテクスチャイメージメッシュジョイントライトカメラ物理カスタムアトリビュートはい、すると次のコードを書くことで次に示す結果を得ることができます。コードからツリーの構築ができることを確認しました。(やったね!)あとはビューアにて、ファイル読み込み処理を行った時に現在読み込んでいるデータからツリーを構築するコードを書きます。※画像は開発中のイメージです(笑)※画像は開発中のイメージです。テクスチャ情報インデックスを全然関係ないところから取ってきていました。これで、読み込んだデータからノードツリーを構築することができました。続いて検索機能をつけましょう。検索機能の追加まずはテキストボックスとコンボボックスのコントロールを配置します。キーワードに調べれば、次に示すようにコントロールを配置することくらいは誰でもできると思います。あとは、これの設定情報を元にツリーをフィルタリングする機構を書いてみます。<実装>すると、次に示すとおりツリーにフィルタをかけることができました。ソースコードを参考に貼り付けておきます。"\nファイルの変換に失敗しました。"\nファイルの読み込みに失敗しました。"\nファイルの読み込みに失敗しました。フィルタリング後のツリー(ここに追加します。]]>まとめレイアウトの基本を学びました。データバインディングを使って、コンボボックスのアイテムやツリーのノードを切り替えました。ツリーにフィルタリング機能を付けました。詳細はソースコードを見ればわかるようになっています。次回はノードを選択するとプロパティビューが更新されプロパティを変更すると、実際に3Dビューの描画結果に影響が出るという所まで作ってみましょう。