2010-12-29 6 views
1

Silverlight 4に同梱されているバージョンでは、System.ComponentModel.Composition.Packaging.Toolkitパッケージが削除されているため、MEF(Managed Extensibility Framework)を使用したSilverlightプロジェクトの例が多数ありますが、いくつかの基本的なMEFの例を実行する手助けをしていません。Silverlight 4のMEF例

新しいAPIを使用するチュートリアルの一部は非常に有益です。

ありがとうございました。

答えて

0

具体的な例の指摘はできませんが、Silverlight 4アプリケーションの一部を構成することは非常に簡単です。例を考える:

public partial class MainPage : UserControl, IContext 
{ 
    [ImportMany] 
    public IEnumerable<IPlugin> Plugins { get; set; } 

    public MainPage() 
    { 
    InitializeComponent(); 
    CompositionInitializer.SatisfyImports(this); 

    Plugins.First().Run(this); 
    } 

    public void ShowMessage(string message) 
    { 
    textBox1.Text = message; 
    } 
} 

public interface IContext 
{ 
    void ShowMessage(string message); 
} 

public interface IPlugin 
{ 
    void Run(IContext context); 
} 

[Export(typeof(IPlugin))] 
public class SamplePlugin : IPlugin 
{ 
    public void Run(IContext context) 
    { 
    context.ShowMessage("Hello World"); 
    } 
} 

CompositionInitializerタイプは、あなたの展開XAPファイルから部品を読み込むカタログに差し込まれているアクションデフォルトCompositionContainerSatisfyImportsメソッドを提供します。カタログの作成方法を細かく制御したい場合は、いつでも独自のCompositionContainerを作成することができます。

アドバイスを求めるSilverlightのMEFの特定の側面はありますか?

0

を参照してくださいあなたにMEFを実装することができますどのようにブログの記事を書きました。