Hej, chciałbym was zapytać co uważacie na temat tworzenia odrębnych ViewModeli dla każdej User Controlki. Czy powinno się tak robić? Tak lub nie i dlaczego.
To zależy, czy robisz na tej UserControlce jakiś widok biznesowy, który ma jakąś logikę, czy zwykłą re używalną kontrolkę typu guzik. W zależności od tego podziału :
widoki -> zawsze vm
kontroli -> nigdy vm
No dobra, robię user control jako widok i tworzę dla niej oddzielny viewModel. Jeśli wystąpi sytuacja gdy będę chciał przekazać jakieś dane z ViewModelu widoku do innego ViewModelu to jak mam to zrobić? Użyć Messengera?
to zależy już od architektury aplikacji, komunikacja na linii rodzic vm dziecko vm jest prosta za pomocą wywołań metod i eventów. W przypadku komunikacji na dalszą odległość jest potrzebny jakiś obiekt pośredni zapewniający komunikację, jakiś Messenger, jakaś szyna, jakaś implementacja wzorca obserwatora czy mediatora, cokolwiek co działa ;)
Czy mógłbyś pokazać przykładowy kod poprawnego zastosowania dziedziczących po sobie vm?