Ich bin gerade dabei mich mit MEF in Silverlight auseinanderzusetzen. Leider habe ich ein kleines Problem.
Ich möchte gerne in einem Part ein Event auslösen und dieses im Hostprojekt abonnieren. Die MEF-"Magic"-Komponente erzeugt ein Singleton meiner Configuration, wie aber komme ich an diese Instanz in meiner Part-Komponente?
Mein Contract:
public delegate void DataChanged(object sender, EventArgs args);
public interface IModule { HyperlinkButton GetMenuItem(); event DataChanged DataChanged; }
[Export(typeof(IModule))] public class Configuration : IModule { public HyperlinkButton GetMenuItem() { return new HyperlinkButton { Content = "Editor", Tag = new ExcelTemplateEditor() }; }
public event DataChanged DataChanged; public void OnDataChanged(object sender, EventArgs args) { if (DataChanged != null) DataChanged(sender, args); }
}
In meine View (ExcelTemplateEditor) möchte ich nun das Event feuern, jedoch fehlt mir hier an der Stelle die Instanz der Configuration.
Okay, es scheint ich hab es gebacken bekommen. Ich implementiere einfach das Interface , IPartImportsSatisfiedNotification in meiner View im Part und in der Implementierung hab ich dann die Configuration zur Hand: