nia*_*iao 7 c# wpf unity-container
我想在使用VS2012的WPF应用程序中使用Unity,我将Unity容器定义如下:
IUnityContainer unityContainer = new UnityContainer();
unityContainer.RegisterType<IMainViewModel, MainViewModel>();
var window = unityContainer.Resolve<MainWindow>();
window.Show();
Run Code Online (Sandbox Code Playgroud)
我的窗口构造函数如下所示:
public MainWindow(IMainViewModel mainViewModel)
{
InitializeComponent();
this.DataContext = mainViewModel;
}
Run Code Online (Sandbox Code Playgroud)
当我运行该应用程序时,我收到以下错误:
PresentationFramework.dll中发生未处理的"System.Windows.Markup.XamlParseException"类型异常
附加信息:'类型'WPFClient.MainWindow'上找不到匹配的构造函数.您可以使用Arguments或FactoryMethod指令来构造此类型.行号"3"和行位置"9".
我究竟做错了什么?
Dar*_*rov 20
在你的App.xaml身上,确保你已经摆脱了StartupUri="MainWindow.xaml"被设置的财产.由于您已经覆盖了OnStartup应用程序并提供了自定义实例,因此MainWindow您不应该StartupUri在App.xaml文件中设置默认属性,并且WPF拼命地尝试在没有默认构造函数的情况下实例化类型.
| 归档时间: |
|
| 查看次数: |
4896 次 |
| 最近记录: |