WPF MVVM Как создать новый экземпляр Window без входных данных - PullRequest
0 голосов
/ 04 мая 2019

В WPF (MVVM), когда я создаю новый экземпляр окна (представление), он не имеет входных данных - но когда я ввожу некоторые данные, закрываю окно и снова открываю, он содержит те же данные, с которыми было закрыто окно.Как обеспечить экземпляр «свежего» окна (с пустыми полями, которые необходимо заполнить) каждый раз?

Я перепробовал много вещей, и сейчас мой класс ViewService выглядит следующим образом.

public class ViewService : IViewService
{
    public void Show<T>()
    {
        try
        {
            T window = Activator.CreateInstance<T>();
            var view = window as Window;
            view.Show();

        }
        catch (Exception)
        {
        }

    }

    public void ShowDialog<T>()
    {
        try
        {
            T window = Activator.CreateInstance<T>();
            var view = window as Window;
            view.ShowDialog();

        }
        catch (Exception)
        {
        }

    }

Большое спасибо за вашу помощь.

PS.Я использую контейнер SimpleIoC для регистрации моделей представления.

1 Ответ

1 голос
/ 04 мая 2019

Simpleioc даст вам синглтон для любого типа и, следовательно, один и тот же экземпляр данной модели представления каждый раз.

Следовательно, ваша проблема.

Либо.

Использованиедругая система внедрения зависимостей, которая более сложна и будет каждый раз возвращать новый экземпляр.

Или.

Не внедрять ваши оконные модели просмотра вообще.

...