¿Dónde colocar y configurar el contenedor IoC en una aplicación WPF?

Estoy trabajando en una aplicación WPF de tamaño medio (MVVM) que debería ser extensible y mantenible en el futuro. Así que decidí usar un contenedor IoC (Unity en este caso) para mantener las cosas flexibles.

Sin embargo, no estoy seguro de dónde colocar y configurar Unity en una aplicación WPF.

Supongo que el contenedor debería ser accesible globalmente, por lo que probablemente debería ir a la clase de aplicación. ¿Pero debo hacerlo como propiedad estática? ¿Debo configurarlo en el controlador de eventos Application_Startup ()?

P.ej:

<code>/// <summary>
/// Interaction logic for App.xaml
/// </summary>
public partial class App : Application
{
    public static UnityContainer MyUnityContainer;


    private void Application_Startup(object sender, StartupEventArgs e)
    {
        // instantiate and configure Unity
    }
}
</code>

De esta manera, podré acceder al contenedor desde cualquier lugar de la aplicación a través de una propiedad estática:

<code>App.MyUnityContainer
</code>

Supongo que esta es una forma de hacerlo, pero no estoy seguro de si hay mejores prácticas para este problema, específicamente para las aplicaciones WPF.

Respuestas a la pregunta(3)

Su respuesta a la pregunta