I tried your example, and it works great until I needed to add an user control to the project.
If I inject something in the user control, the application doesn't start. I registered the usercontrol as a singleton in the app.xaml.cs together with the MainWindow.