Bonjour à tous
Je débute sur MEF, et je me trouve confronté à un soucis :
J'ai un xap externe, qui exporte un UserControl, et donc le constructeur prend un paramètre importé :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 [Export(typeof(UserControl))] public partial class StandardControl : UserControl { [ImportingConstructor] public StandardControl([Import("type", typeof(string))] string type) { InitializeComponent(); ... } ... }
Dans mon projet principal, je voudrais pouvoir importer ce UserControl, tout en Exportant une chaine de caractère vers le constructeur du xap externe.
Dans mon code, je récupère des UserControl avec
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 public partial class MainPage : UserControl, IPartImportsSatisfiedNotification { [ImportMany(AllowRecomposition = true)] public Lazy<UserControl>[] Widgets { get; set; } public MainPage() { InitializeComponent(); CompositionInitializer.SatisfyImports(this); ... } ... }
Si j'essaye d'exporter ma chaine de caractère dans la MainPage qui réalise la composition, une exception me dit que c'est impossible -> je ne peux appeler SatisfyImports et faire un export en même temps.
Comment dois-je procéder ? Quelle est la best-practice ?
PS : je n'utilise pas MVVM sur ce projet.
Partager