3 votes

MVVM Light Créer et Disposer des vues selon les besoins

Je suis encore aux premiers jours de MVVM Light et j'ai essayé de faire des recherches à ce sujet

J'ai une application WPF qui utilise des pages. Une des pages que j'ai s'appelle AVOPage et derrière se trouve un ViewModel appelé AVOViewModel.

En gros, tout ce que je veux faire, c'est que chaque fois que je crée la page, le ViewModel est créé. Quand je ferme la page, le ViewModel est détruit. Donc en gros, j'utilise un nouveau ViewModel à chaque fois pour cette page.

Comment puis-je faire cela avec le ViewModel?

5voto

Gaz83 Points 666

Résolu mon problème. Dans le ViewModelLocator

public AVOViewModel AVO
{
        get
        {
            if(!SimpleIoc.Default.ContainsCreated())
                SimpleIoc.Default.Register();

            return ServiceLocator.Current.GetInstance();
        }
}

public static void Cleanup()
{
        // TODO Clear the ViewModels     
        if (SimpleIoc.Default.IsRegistered())
            SimpleIoc.Default.Unregister();
}

Enfin, dans l'événement de fermeture de ma page

void Page_Close()
{
        PageFrame.Content = null;
        ViewModel.ViewModelLocator.Cleanup();
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X