WPF MVVM 如何创建没有输入数据的新 Window 实例

WPF MVVM How to create new Window instance with no input data

在 WPF (MVVM) 中,当我创建 window 的新实例(视图)时,它没有输入数据 - 但是当我输入一些数据时,关闭 window 并重新打开它包含相同的数据因为 window 被关闭了。如何每次提供"fresh" window(需要填写的空白字段)实例?

我已经尝试了很多东西,现在我的 class "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 容器来注册视图模型。

Simpleioc 将为您提供任何类型的单例,因此每次给定视图模型的相同实例。

因此,你的问题。

两者皆有。

使用更复杂的不同依赖注入系统,每次都会 return 一个新实例。

或者。

根本不要注入您的 window 视图模型。