2

我有一个 WPF 应用程序,我用它来学习 MVVM 和 IoC。

问题是其中一个视图使用的模型期望从 IoC 容器中提取其构造函数中的依赖项之一。

在 Visual Studio 设计器中处理此视图时,它无法显示设计,因为模型中引发了异常。

有没有解决的办法?我是在代码中将我的依赖项放在错误的位置,还是有一种方法可以传递构造的依赖项,也许是通过构造函数注入。

目前 IoC 容器是在 App.xaml.cs 中的代码中设置的。

IoC 容器是从 MSDN 上的这篇文章中自行制作的 - http://msdn.microsoft.com/en-us/magazine/cc337885.aspx

4

2 回答 2

0

我发现问题是由在 Xaml 中将 ViewModel 声明为 View 的数据上下文引起的,通过将其移动到 Xaml 在设计器中正确呈现的 View 构造函数。

于 2010-04-20T06:52:18.497 回答
0

我最近遇到了类似的问题。我通过以下检查解决了这个问题:

    private void UserControl_Loaded(object sender, RoutedEventArgs e)
    {
        if (!System.ComponentModel.DesignerProperties.GetIsInDesignMode(new DependencyObject()))
            Init();
    }
于 2010-04-19T21:27:11.773 回答