44 messaggi dal 27 novembre 2010
Ciao a tutti,

ho una maschera wpf con 3 righe. La prima per una ribbon,la seconda per caricare un User Control
All'interno del mio user control ho implementato tutta la logica che andrà a riempire questo UC con tutti le informazioni necessarie. Vorrei sapere come posso fare a lanciare un evento all'interno dello UserControl utilizzando la ribbon che si trova nella prima riga.

Spero di essere stato abbastanza chiaro

Grazie

Marco Morgia
11.886 messaggi dal 09 febbraio 2002
Contributi
Ciao Marco,
ti propongo una possibile soluzione.
Puoi far comunicare dei componenti, anche senza che si "conoscano" direttamente, se implementi il pattern pub/sub. Un componente, come il bottone nel tuo ribbon, invia un messaggio ad un aggregatore che si preoccuperà di consegnarlo ad uno o più riceventi, come il tuo user control che così capirà che deve aggiornare la sua interfaccia.
L'aggregatore, dato che ha il compito di smistare messaggi, si comporta un po' come un ufficio postale ed è il centro nevralgico di tutti gli "eventi" che si verificano nella tua applicazione, dal semplice "Apri una maschera per inserire un nuovo prodotto" al "Dati salvati per l'angrafica 1234".

Alcune librerie, come Prism e Caliburn (non so se le stai usando), offrono una loro versione chiamata Event Aggregator, di cui per esempio puoi leggere qui:
https://caliburnmicro.codeplex.com/wikipage?title=The%20Event%20Aggregator

Se non stai usando alcuna di queste librerie, prova con questo pacchetto NuGet
https://www.nuget.org/packages/EventAggregator.Net/
Ti ritroverai nel progetto una classe EventAggregator che è un po' la base per cominciare a smistare messaggi (che sono semplici oggetti che dovrai creare).

ciao,
Moreno
Modificato da BrightSoul il 08 maggio 2016 21.17 -

Enjoy learning and just keep making
44 messaggi dal 27 novembre 2010
Grazie molte,

provo ad integrarlo.

Ciao

Marco Morgia

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.