Καλημέρα σε όλους,
προσπαθώ να καταλάβω με ποια λογική μπορεί ένα property απο ενα viewModel να πάρει τιμή απο ένα άλλο viewModel.
Πιο συγκεκριμένα:
έχω ενα application το οποίο έχει δύο windows (χρησιμοποιούν διαφορετικά viewModels), το mainWIndow και ακόμα ένα (ας το πούμε popWindow) το οποίο ανοίγει με το πάτημα ενός κουμπιού.
Αυτο που θέλω είναι:
- όταν ο χρήστης ανοίξει το popWindow να επιλέξει ένα item απο μια λίστα. Αυτό το item notifies ένα property στο viewModel του
- Απο το viewModel του popWindow θέλω να περάσω το ίδιο Property στο viewModel του mainWindow. Το mainWIndow πρέπει να εμφανίσει την τιμή του property στο UI.
προσπάθησα να κάνω το εξής:
Έφτιαξα μια μέθοδο στο viewModel του popWindow με όνομα OnSelectedItemChanged, η οποία ενημερώνει το viewModel του mainWindow.
Δεν έπαιξε :(
private Hotel _selectedHotel { get; set; }
public Hotel SelectedHotel {
get { return _selectedHotel; }
set {
_selectedHotel = value;
RaisePropertyChanged("SelectedHotel");
OnSelectedItemChanged();
}
}
void OnSelectedItemChanged() {
MainWIndowViewModel = new MainWIndowViewModel(this.SelectedHotel);
}
Ποια είναι η λογική για να γίνει κάτι τέτοιο.
Εκτός απο την λογική θα εκτιμούσα αν κάποιος μπορούσε να δείξει ενδεικτικά και κάποιο κομμάτι κώδικα.
Ευχαριστώ
αν δεν το θες,
www.antallakseto.gr