.net 8 Maui 应用程序 ICommand RelayCommand 不起作用

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

除了相关信息之外,我几乎删除了所有内容。 BaseViewModel继承自ObservableObject。 我从传统的 WPF MVVM 方法开始,但无法再使 ICommands 工作。尽管它在 Maui Blazor 混合应用程序中似乎运行良好,但这只是一个 Maui 应用程序。据我发现,RelayCommand 是最新毛伊岛的正确方法,但无论我尝试什么,我的按钮命令都不起作用。 有什么建议吗?

公共分部类 SignInViewModel : BaseViewModel { 公共 RelayCommand UserLoginCommand { 获取;放; }

    public SignInViewModel()
    {
        UserLoginCommand = new RelayCommand(UserLogin);
    }

    async void UserLogin()
    {
       ...
    }
}

<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             xmlns:local="clr-namespace:NMMaui"
             x:Class="NMMaui.Views.SignInPage"
             xmlns:toolkit="http://schemas.microsoft.com/dotnet/2022/maui/toolkit"
             xmlns:vm="clr-namespace:NMMaui.ViewModels"
             Title="Sign In"
             HeightRequest="600"
             Background="Silver">
    <ContentPage.BindingContext>
        <vm:SignInViewModel/>
    </ContentPage.BindingContext>
    <VerticalStackLayout>
        <Grid RowDefinitions="Auto,*">
               <Button 
                 Grid.Row="10" 
                 Text="Sign In" 
                 FontAttributes="Bold" 
                 TextColor="White" 
                 Margin="0,20" 
                 HeightRequest="50" 
                 CornerRadius="10"
                 HorizontalOptions="Center"
                 Command="{Binding UserLoginCommand}"
                 BackgroundColor="#508390"></Button>
        </Grid>
    </VerticalStackLayout>
</ContentPage>
maui icommand
1个回答
0
投票
[RelayCommand]
public async Task UserLoginAsync()
{
    ...
}
© www.soinside.com 2019 - 2024. All rights reserved.