Ho un grande ListBox con lo scorrimento verticale abilitato, il mio MVVM ha Nuovo e Modifica ICommands. Sto aggiungendo un nuovo elemento alla fine della raccolta ma voglio anche che la barra di scorrimento si posizioni automaticamente fino alla fine quando chiamo MVVM-AddCommand. Sto anche rendendo un elemento modificabile (chiamando EditCommand con una particolare riga) da qualche altra parte dell'applicazione in modo che il mio ListBoxItem entri in modalità di modifica usando DataTrigger, ma come posso portare quella particolare riga (ListBoxItem) al vista regolando la posizione di scorrimento.Come controllare la posizione di scorrimento di un ListBox in un'app MVVM WPF
Se lo sto facendo nel lato Vista posso chiamare listBox.ScrollInToView (lstBoxItem). Ma qual è il modo migliore per risolvere questo problema di Scroll comune da una prospettiva MVVM.
L'utilizzo dell'evento ListBox SelectionChanged e del metodo ScrollIntoView non interrompe MVVM. Questa è interamente vista funzionalità e dovrebbe essere gestita dalla vista. Il modello di visualizzazione non dovrebbe nemmeno sapere che il ListBox esiste o ha il controllo su dove si trova un oggetto nella vista. L'unica cosa che il modello di visualizzazione dovrebbe fare è modificare l'oggetto SelectedItem, che dovrebbe essere una proprietà associata di ListBox al modello di vista. – Tim