在MVVM中打开窗口

时间:2018-07-16 16:05:24

标签: c# wpf mvvm

有人告诉我应该使用Window服务来打开/显示窗口,否则会被视为违反MVVM。

我搜索后发现了这个

    class WindowService : IWindowService
    {
        public void ShowWindow(object viewModel)
        {
            var win = new Window();
            win.Content = viewModel;
            win.Show();
        }
    }

但是IWindowService出现以下错误:

  

无法在此处访问内部接口“ IWindowService”。

因此,假设这是打开新窗口的正确方法,如何进行?如果不是,最好的选择是什么?

1 个答案:

答案 0 :(得分:0)

您需要定义您的WindowService类在某处实现的接口:

public interface IWindowService
{
    void ShowWindow(object viewModel);
}