【发布时间】:2014-06-16 19:58:53
【问题描述】:
我想在使用 VS2012 的 WPF 应用程序中使用 Unity,我将统一容器定义如下:
IUnityContainer unityContainer = new UnityContainer();
unityContainer.RegisterType<IMainViewModel, MainViewModel>();
var window = unityContainer.Resolve<MainWindow>();
window.Show();
我的窗口构造函数如下所示:
public MainWindow(IMainViewModel mainViewModel)
{
InitializeComponent();
this.DataContext = mainViewModel;
}
当我运行应用程序时,我收到以下错误:
未处理的类型异常 'System.Windows.Markup.XamlParseException' 发生在 PresentationFramework.dll
附加信息:'在类型上找不到匹配的构造函数 'WPFClient.MainWindow'。您可以使用 Arguments 或 FactoryMethod 构造这种类型的指令。行号“3”和行位置 '9'。
我做错了什么?
【问题讨论】:
-
您在哪个文件/位置放置了您在容器中注册依赖项并实例化主窗口的代码?
-
App.xaml.cs 中受保护的覆盖无效 OnStartup(StartupEventArgs e)
标签: c# wpf unity-container