2011-01-05 13 views
5

Ho eseguito il refactoring del codice che utilizzava originariamente lo Messenger in MVVM Foundation per utilizzare ora lo Messenger in MVVM Light Toolit. Una cosa a cui non riesco a trovare un equivalente è il caso in cui tutto ciò che si vuole fare è inviare un token (cioè, il token agisce sia come identificatore univoco per il messaggio e del messaggio stesso).È possibile inviare solo un token tramite MVVM Light Messenger?

Codice

originale (MVVM Foundation) - una stringa fa tutto

// send code 
mvvmFoundationMessenger.NotifyColleagues("QuestionTimedOut"); 

// register code 
mvvmFoundationMessenger.Register(
    "QuestionTimedOut", 
    () => UpdateOnQuestionTimedOut()); 

Nuovo Codice (MVVM Light) - c'è una soluzione più elegante di questo?

// send code 
mvvmLightMessenger.Send("QuestionTimedOut", "QuestionTimedOut"); 

// register code 
mvvmLightMessenger.Register<string>(
    this, 
    "QuestionTimedOut", 
    token => UpdateOnQuestionTimedOut()); 

mi rendo conto che potevo esplicitamente nuovo un NotificationMessage ma che avrebbe aggiungere ancora più codice.

+0

Quindi la prossima versione è pronta? Sto facendo esattamente la stessa cosa da MVVM Foundation a MVVM Light! –

+0

@Dimitris, finora, questo non è stato risolto. – devuxer

risposta

5

Buon punto. L'ho messo nel backlog per MVVM Light VNext.

+0

Grazie, Laurent! – devuxer

0

È possibile derivare da MvvmLight's Messenger e aggiungere i propri metodi di convenienza oppure è possibile aggiungere MessengerExtension Methods in una classe di estensione.

Problemi correlati