我想在WPF应用程序中使用Unity依赖注入。我的窗口抛出System.Windows.Markup.XamlParseException:
"对于MainWindow类型,找不到默认构造函数"。
这是我的代码:
App.xaml.cs:
IUnityContainer container = new UnityContainer();
container.RegisterType<MainWindow>();
container.RegisterType<IService, MyService>();
container.RegisterType<IRepository, MyRepository>();
container.Resolve<MainWindow>().Show();
MainWindow.xaml.cs:
public MainWindow(IService service)
{
InitializeComponent();
service.Test();
}
答案 0 :(得分:3)
您始终需要为视图设置默认构造函数,以便WPF应用程序正常运行。
public MainWindow()
{
InitializeComponent();
}
然后定义参数化构造函数,如下所示:
public MainWindow(IService service) : this()
{
service.Test();
}