Το IDialogService εσύ το έχεις γράψει ή είναι από κάποιο framework? Τυπικά θα πρέπει να έχει κάποιο callback ώστε να κάνεις hook το function που θες να κληθεί μόλις κλείσει το dialog.
Πάντως γενικά το implementation δεν μου αρέσει γιατί έχει ένα πρόβλημα: Το MainWindowViewModel γνωρίζει για την ύπαρξη του AddItems view. Τυπικά, το ViewModel δεν πρέπει να ξέρει ούτε καν για το View που το χρησιμοποιεί, πόσο μάλλον για ένα άλλο τρίτο View. Υπάρχει δηλαδή ένα dependency που δεν θα έπρεπε να υπάρχει το οποίο οδηγεί σε δυσκολία στο testing, αφαιρεί μελλοντική ευελιξία για αναδιάρθρωση των Views/ViewModels, ακόμη και σε memory leaks.
Καλύτερη υλοποίηση είναι ένας μηχανισμός messaging. Η λογική του messaging μηχανισμού είναι η εξής: Κάποιοι μεταδίδουν μηνύματα και κάποιοι αποφασίζουν να ακούν για τα μηνύματα που τους ενδιαφέρουν. Το Main ViewModel λοιπόν, μεταδίδει ένα μήνυμα ότι ο χρήστης ζήτησε να ανοίξει το dialog μαζί με κάποιες παραμέτρους για το τι χρειάζεται αυτό το dialog. Εκεί τελειώνει η δουλειά του. Αυτό το μήνυμα το παίρνει οποιοσδήποτε έχει δηλώσει ενδιαφέρον (πχ o Locator που λέγαμε προηγουμένως) και ανοίγει το dialog. Το dialog με τη σειρά του στο τέλος μεταδίδει ένα μήνυμα που λέει ότι έχει τελειώσει και δίνει ως παράμετρους τις αλλαγές. Ο Locator ξαναλμβάνει το μήνυμα και σηκώνει το Main ViewModel που χειρίζεται τις αλλαγές. Με αυτόν τον τρόπο τα δύο ViewModels είναι ανεξάρτητα και καθώς τα μηνύματα αυτά που λέμε παίζουν με weak references δεν υπάρχει κίνδυνος για memory leaks.
Όλα αυτά θα τα βρεις υλοποιημένα στο MVVM Light ωστόσο μιας και είμαστε στα πρώτα βήματα μην χρησιμοποιήσεις απλά το framework αλλά δες του source για να καταλάβεις πώς δουλεύει.
Έχεις πέσει σε ένα από τα κλασικά προβλήματα που συναντάς όταν παίζεις με MVVM. Αν θεωρείς ότι είναι πολλή φασαρία για τις αλλαγές που σου προτείνω ή ότι δεν θα κάνεις ποτέ testing οπότε δεν είναι μεγάλο κακό το να σηκώνεις View μέσα από το ViewModel, τότε μπορείς να βάλεις το child view να κάνει raise ένα event στο οποίο θα απαντά το parent view ωσόσο κράτησε σρο μυαλό σου ότι αυτή η τεχνική δεν ενδείκνυται.
Vir prudens non contra ventum mingit