pattern - view model c#




MVVM: come chiamare il metodo su view from view model? (2)

È necessario utilizzare il modello di messaggistica per questo problema:

L'idea è che la vista possa registrarsi per specifiche classi di messaggi (in questo caso ad esempio una propria classe NavigateToUriMessage ) e il modello di visualizzazione può inviare un'istanza di questa classe di messaggio a chiunque ascolti il ​​tipo di messaggio. Nell'implementazione del comando è sufficiente inviare questo messaggio, la vista riceve il messaggio e modifica l'URI della vista Web.

A proposito: l'idea di questo schema di messaggistica è che puoi scrivere meglio i Test di unità e utilizzare il modello di visualizzazione per altre piattaforme (in cui la reazione al messaggio potrebbe essere diversa).

Sono abbastanza nuovo per MVVM, mi dispiace per la domanda probabilmente semplice. Tuttavia, non riesco a capire quale meccanismo MVVVM (sto usando MVVMLight se questo è di alcuna conseguenza) da utilizzare per programmare il seguente scenario semplice:

Ho una casella di testo TB, in cui l'utente può inserire l'URL. Di quanto ho un pulsante B e webview WV. Se l'utente fa clic sul pulsante, l'app dovrebbe prendere il testo da TB e visualizzarlo nella WV.

So che posso creare una proprietà in viewmodel e legarla a TB.Text. Capisco probabilmente anche che dovrei creare un comando che sarà boudn dal pulsante B, ma cosa dovrei fare nel comando. Come posso chiamare WV.navigate (url), quando non ho riferimenti a WV. Questo dovrebbe essere risolto da qualcosa, che non ho afferrato correttamente come comportamenti? Qual è il modo migliore per farlo?






windows-store-apps