Library」を見て知りました。バージョンが選択できるようになっています。週の前半に機能追加されたみたいですね。以下みたいな感じただし、対応してるのはライトウエイト表示のときだけみたいです。クラシック表示のときにもできて欲しいなぁ。確かにクラシック表示の時には左側にツリーがあってそこでバージョンを選べますから、最初からみたいバージョンが決まってる時は不自由しません。なんてこともありますし。書き換えてやれば違うバージョンに飛ぶことは出来ることは出来るんですが。前でバージョンを指定できます。省略してもいいみたい)けど、正直めんどくさい。各バージョンの対応は以下のようになってるみたいです。動的に読み込んでみる例です。フォルダが以下の例です。入っているコントロールを表示しています。属性を付けて、ここにインポートされるようにしています。CompositionContainer(catalog);container.ComposeParts(this);の部分です。メソッドで作っています。読み込んでインポート元として使えるようにしてくれるそのものズバリなクラスが用意されていますからそれを使っています。複数のカタログをひとつに束ねるカタログです。インポートを実行を依頼しています。前回紹介したようにデフォルトのコンテナを使うこともできます。その場合は以下のようになります。束ねてやる必要も無くなります。CompositionHost.Initialize(CreateCatalog("Page1.xap"),CreateCatalog("Page2.xap"));CompositionInitializer.SatisfyImports(this);ソースの説明に戻って、残りの部分はボタンクリックイベントでコントロールを表示しているだけです。ように名前を付けてあります)本体側でやっているのは以上です。アプリケーションのプロジェクトを作ります。ファイルができあがることになります。コードは以下のような感じです。}}見ての通りかなり簡単なものです。属性を付けていることだけです。書いていますが、これには意味があります。名前と型でインポート・エクスポートの解決を行うようです。型でエクスポートすることを明示してやらないといけません。型としてエクスポートすることになってしまい、インポートする側と型が一致しないのでインポートしてくれなくなっちゃいます。内容的には同じようなものです。読み込んでその中のクラスやプロパティをインポートすることができます。使い方次第でいろんなことに応用できるんじゃないかと思います。フィールドが更新されるとは限りません。フィールドが更新されます。順序もダウンロードが速く終わった順になるようです。イベントなんかを使えばダウンロード完了を知ることができます。(サンプルでは何もしない空のハンドラを指定してるだけですが)なお、サンプルでは名前でコントロールを探すようにしているのでダウンロードに時間がかかってまだ該当するコントロールが読み込まれていない場合にもエラーにはならず単に何も表示されないだけとなります。格納順も問題になりません。すればいいんじゃないかと思います。ファイルのサイズを簡単に大きくすることができます。フィールドの内容が更新されるってことだよな。フィールドにアクセスしちゃまずいってことになるな。してくれてるのかな?そうじゃないとどうしようも無くなってしまうような気がする。動的にダウンロードして読み込むサンプルを示してみました。どんなものなのかはわかって頂けるんじゃないかと。私もよくわかってませんが、他にもいろいろとできたりします。属性を使うやり方にしましたがリフレクションベースで指定する方法もあるようです。活用するとより柔軟なインポートができるとかなんとか。Action、要するにデリゲートで受け取ることになります。使い方によってはおもしろいかもしれません。動的に読み込めばいいんじゃないかと書きましたが、せっかくなのでサンプルを紹介しときます。セッションで紹介したのとだいたい同じだったりしますが。いうのはプラグインといった仕組みを実現するフレームワークだと思ってもらえばいいんじゃないかと思います。いろいろな機能があるため全体としてはそれなりにややこしくなっていますが、基本的な部分を使うだけならば、いくつかの約束ごとを覚えればなんとかなる感じです。概要を紹介してみます。ありますから詳しい話はそちらを参照してみてください。発音されることが多いみたいです。人のチュートリアル動画を見てたらそう発音してた)では、まず手始めに単純な例。フォルダが以下の例です。プロジェクトを作ります。含まれてますので、まずはこれを参照設定します。以下のように書き換えます。いう内容のメッセージボックスが表示されるはずです。フィールドに内容をセットするコードが見当たりません。参照で例外が出ちゃうので、どこかではセットされてるんですが。キモと言っていい部分です。ここでカタログを作っています。所在を指定するもの、と思ってもらえばいいんじゃないかと思います。使って今現在実行中のアセンブリをカタログとして指定しています。いくつかの種類があります。2行目でコンテナを作っています。インポートを解決するように依頼しています。3行目はお約束と思ってもらっていいんじゃないかと思います。キモなわけですが、もうひとつのキモがインポートとエクスポートの指定です。属性が付いているものを探す。属性が付いているものを探す。名前と型が一致するものがあったらエクスポート側から値を取り出し、インポート側にセットする。person.Name;というのと同じことが実行されています。AssemblyCatalog(Assembly.GetExecutingAssembly());CompositionHost.Initialize(catalog);CompositionInitializer.SatisfyImports(this);こんな感じに書かれているものがあります。内蔵されているデフォルトのコンテナを使っているということみたいです。デフォルトのコンテナを使うことにどんな利点があるのかは私は良くわかってません。参照設定する必要があります。読み込むようにしてみます。