依赖注入 MAUI 的导航错误
navigation error with Dependency Injection MAUI
我正在将我的整个应用程序转换为 MVVM 并添加依赖项
注射。我用过的导航
Navigation.PushAsync(new date());
它曾经有效,但现在不再有效。你有什么解决办法吗
里面date.xaml.cs
public partial class date : ContentPage
{
public date(dateViewModel vm)
{
InitializeComponent();
BindingContext = vm;
}
private void GoNav(object sender, EventArgs e)
{
Navigation.PopAsync();
}
}
C#编译错误为
CS7036 There is no argument given that corresponds to the required formal parameter 'vm' of 'date.date(dateViewModel)' dateCalculator (net6.0-android), dateCalculator (net6.0-ios), dateCalculator (net6.0-maccatalyst), dateCalculator (net6.0-windows10.0.19041.0) C:\Users\source\repos\dateCalculator\dateCalculator\MainPage.xaml.cs 12
原因
是因为你去掉了default class constructor
,新建了一个有参的,所以调用new date()
时,找不到无参的构造函数(默认的) ,这就是错误出现的原因。
解决方案
- 删除新构造函数。
或者
- 创建时给参数值 class 。
Navigation.PushAsync(new date(YourVm));
我正在将我的整个应用程序转换为 MVVM 并添加依赖项 注射。我用过的导航
Navigation.PushAsync(new date());
它曾经有效,但现在不再有效。你有什么解决办法吗
里面date.xaml.cs
public partial class date : ContentPage
{
public date(dateViewModel vm)
{
InitializeComponent();
BindingContext = vm;
}
private void GoNav(object sender, EventArgs e)
{
Navigation.PopAsync();
}
}
C#编译错误为
CS7036 There is no argument given that corresponds to the required formal parameter 'vm' of 'date.date(dateViewModel)' dateCalculator (net6.0-android), dateCalculator (net6.0-ios), dateCalculator (net6.0-maccatalyst), dateCalculator (net6.0-windows10.0.19041.0) C:\Users\source\repos\dateCalculator\dateCalculator\MainPage.xaml.cs 12
原因
是因为你去掉了default class constructor
,新建了一个有参的,所以调用new date()
时,找不到无参的构造函数(默认的) ,这就是错误出现的原因。
解决方案
- 删除新构造函数。
或者
- 创建时给参数值 class 。
Navigation.PushAsync(new date(YourVm));