C # WPF MAF aggiuntivo interazione tra di loro
Domanda
Vorrei creare un'applicazione molto semplice vernice con MAF su WPF.
L'Add Ins vorrei creare sono:
- principale processore di immagini - Visibile la vernice corrente e ricevere input da parte dell'utente
- Tool Box - L'utente può selezionare alcuni tipi di disegni strumenti
- Livelli - L'utente può selezionare i layer da visualizzare, eliminare e selezionare i livelli su cui strato di lavorare su
la domanda è: Come posso interagire tra le diverse componenti aggiuntivi senza utilizzare l'host
Grazie, Ronny
Soluzione
Il modo in cui lo faccio è per l'host di raccogliere ogni componente aggiuntivo in una collezione come sono stati scoperti, e poi passare che la raccolta di ogni componente aggiuntivo come si inizializza. Quello che stai passando per i componenti aggiuntivi sono interfacce gli altri add-ins', come questo è davvero tutto l'esercito sa su di loro.
L'host deve inizializzare ogni componente aggiuntivo, e poi una volta sono tutti inizializzati, li segnale di attivazione, dove poi scoprire le altre componenti aggiuntivi e andare fare le loro cose. Ogni componente aggiuntivo deve esporre un metodo WhoAreYou in modo che possano scoprire chi altro viene installato quando sono attivati. Derivando i componenti aggiuntivi da una classe base semplificherà questo. Una volta che hai capito fuori per uno poi è fatto per tutti loro.
Questo approccio utilizza solo l'host per raccogliere e distribuire il componente aggiuntivo interfacce, con i componenti aggiuntivi di comunicare direttamente tra di loro attraverso il gasdotto del contratto, invece di routing dei messaggi attraverso l'host.