c# pattern MVVM: come chiamare il metodo su view from view model?



view model c# (2)

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?


È 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).






windows-store-apps