.net 找不到“Microsoft.Maui.控件.按钮.命令”的绑定属性

bf1o4zei  于 2022-12-14  发布在  .NET
关注(0)|答案(1)|浏览(234)

我对MAUI还是个新手,我正在开发一个简单的CRUD-App来使用它。现在我已经实现了所有的函数,但是现在当我将AddUpdateObject()函数链接到提交按钮时,它说这个函数不存在
这是我的XAML:

<StackLayout Margin="10" Spacing="20">
        <VerticalStackLayout Margin="10">
           <Label Text="Name" FontSize="16"/>
           <Entry Text="{Binding Name}" Placeholder="Name"/>
           <BoxView HeightRequest="0.8" Color="Gray"/>
        </VerticalStackLayout>

        <Button Text="Save" Command="{Binding AddUpdateObject}" />
     </StackLayout>

这是我的代码隐藏:

using project.ViewModels;
namespace project.Views;

public partial class AddObjectAlbumDetail : ContentPage
{
    public AddUpdateAlbumDetail(AddUpdateObjectDetailViewModel viewModel)
    {
        this.BindingContext = viewModel;    
        InitializeComponent();
    }
}

这是我在AddUpdateObjectDetailViewModel中的AddUpdateObject()函数

[ObservableProperty]
private string _name;

[ICommand]
        public async void AddUpdateObject()
        {
            var response = await _objectService.AddObject(new Models.TestModel
            {
                Name = Name,
                //ReleaseDate=Date,
            }) ;

            if(response > 0)
            {
                await Shell.Current.DisplayAlert("Created", "Object Created!", "OK");
            }
            else
            {
                await Shell.Current.DisplayAlert("Not Created", "Something went wrong while creating", "OK");

            }
        }

我确信这个模型是正确的,因为它只包含1个属性(字符串)和一个自动递增的id。
先谢了

mklgxw1f

mklgxw1f1#

1.[ICommand]现在是[中继命令]。
1.首先调用InitializeComponent。
1.该命令由{绑定AddUpdateObjectCommand}而不是AddUpdateObject绑定。

相关问题