WPF Prism Inject same viewmodel instance into two

2019-04-12 13:28发布

So I have two separate views in a WPF Prism app. How can I inject the same instance of a ViewModel into both the views via Dependency Injection?

1条回答
Melony?
2楼-- · 2019-04-12 14:06

(I assume you are using Unity as you mentioned DI directly and are not saying "Import" or similar)

Hi,

You will have to register the ViewModel as a singleton (using a ContainerControlledLifetimeManager) in the container and have it injected as usual. This ensures that you will get the same instance whenever you request for it. A valid approach in this scenario might be to use a named registration in case you want to get the same VM injected elsewhere, but you don't need the same instance.

This article explains how to do this.

查看更多
登录 后发表回答