.NET MAUI 错误没有为此对象定义无参数构造函数[已关闭]

问题描述 投票:0回答:1

将我的视图绑定到视图模型时发生。

错误描述:

System.MissingMethodException: 'No parameterless constructor defined for type 'yournamespace.view.pagename'.'
c# maui .net-maui maui-windows maui-community-toolkit
1个回答
42
投票

原来我只是忘记将 View 和 ViewModel 注册到 MauiProgram.cs 中

在 XAML 页面代码后面

public partial class TestPage : ContentPage
{
  public TestPage(TestViewModel testViewModel)
   {
      InitializeComponent();
      BindingContext = testViewModel;
   }
}

在MauiProgram.cs中

public static class MauiProgram
{
    public static MauiApp CreateMauiApp()
    {
        var builder = MauiApp.CreateBuilder();
        builder
            .UseMauiApp<App>()
            .ConfigureFonts(fonts =>
            {
                fonts.AddFont("OpenSans-Regular.ttf", "OpenSansRegular");
                fonts.AddFont("OpenSans-Semibold.ttf", "OpenSansSemibold");
            });
#if DEBUG
        builder.Logging.AddDebug();
#endif
        builder.Services.AddSingleton<TestViewModel>();
        builder.Services.AddSingleton<TestPage>();

        return builder.Build();
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.