I came across your FolderBrowserDialogService the other day and thought maybe we could use that in our PRISM application. But I am confused why there is some view behaviours required and some overly complicated ViewModel setup to get it working. Why is their just not a service I can register with my unity container and bring it in via my ViewModel constructor? Why do I need a whole container for each ViewModel?
Many of our services are bound to the View part. For example, FrameNavigationService requires to be attached to the NavigationFrame element, TabbedDocumentUIService should have a reference to the target DocumentGroup etc. So, they cannot be registered globally in a simple way but should be registered at the level of a corresponding ViewModel.
If you want to use our services with a certain IoC container, you can use the approach Michail described in the following thread: MVVM services and IoC container. Please refer to it for more details.