In vielen ViewModels benötige ich eine Sammlung von einem anderen ViewModel. Grundsätzlich hat jedes ViewModel eine List-Eigenschaft vom Typ ObservableCollection. und die meiste Zeit benötigt ViewA ViewModelA (für CRUD) und ViewModelB.List (nur zum Lesen).Wann sollten wir ein ViewModel von einem anderen ViewModel aus referenzieren?
Was ist der empfohlene Ansatz hier?
- eine ViewModelB in ViewModelA injizieren und eine EntityBList Eigenschaft
- Add/kopieren Sie die gleiche Prozedur GetList in ViewModelA von ViewModelB aussetzen?
- in ViewA XAML Referenz sowohl ViewModelA und viewModelB
Nach Rücksprache mit mehreren Quellen, ist es am besten, mit 1) Injektion zu gehen. Was die Option 3) betrifft, ist dies ein ziemlich häufiges Szenario. ViewModelB wird sowohl in ViewA (als schreibgeschütztes Objekt, wahrscheinlich als Referenzobjekt) als auch ViewB (CRUD) verwendet. – Goran