Предупреждение о привязке .NET Maui: свойство «LoginCommand» не найдено в LoginPageViewModes.C#

Место общения программистов C#
Ответить
Anonymous
 Предупреждение о привязке .NET Maui: свойство «LoginCommand» не найдено в LoginPageViewModes.

Сообщение Anonymous »

Я следую руководству от AshProgHelp, чтобы создать простую страницу входа в мое приложение для Windows.
В части 2 минуты значения 9:15 помещаются в поля ввода имени пользователя и пароля. , а затем следует вход в систему.
Когда я пытаюсь сделать то же самое, с кнопкой входа в систему ничего не происходит.
Просматривая журнал вывода, я обнаруживаю следующее предупреждение компиляции:

Microsoft.Maui.Controls.Xaml.Diagnostics.BindingDiagnostics: Предупреждение: свойство «LoginCommand» не найдено в «MyAdministrationApp.Viewmodes.LoginPageViewModes» , целевое свойство: 'Microsoft.Maui.Controls.Button.Command'

Ниже приведен код .cs

Код: Выделить всё

using CommunityToolkit.Mvvm.ComponentModel;
using CommunityToolkit.Mvvm.Input;
using MyAdministrationApp.Models;
using MyAdministrationApp.Services;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.Json.Serialization;
using System.Threading.Tasks;
using Newtonsoft.Json;
using MyAdministrationApp.Views;

namespace MyAdministrationApp.Viewmodes
{
public partial class LoginPageViewModes : BaseViewModel
{
[ObservableProperty]
private string _userName;

[ObservableProperty]
private string _password;

readonly LoginRepository loginRepository= new LoginService();

[RelayCommand]
public async Task LoginCommand()
{
Console.WriteLine("Sign In button pressed");
if (!string.IsNullOrWhiteSpace(UserName ) && !string.IsNullOrWhiteSpace(Password))
{
UserInfo userInfo = await loginRepository.Login(UserName, Password);

if (Preferences.ContainsKey(nameof(App.UserInfo)))
{
Preferences.Remove(nameof(App.UserInfo));
}

string userDetails = JsonConvert.SerializeObject(userInfo);
Preferences.Set(nameof(App.UserInfo), userDetails);
App.UserInfo = userInfo;

await Shell.Current.GoToAsync($"//{nameof(HomePage)}");
}
}

}
}
Класс LoginPage.

Код: Выделить всё

using MyAdministrationApp.Viewmodes;

namespace MyAdministrationApp;

public partial class LoginPage : ContentPage
{
public LoginPage(LoginPageViewModes loginPageViewModes)
{
InitializeComponent();
this.BindingContext = loginPageViewModes;

}
}
и код XAML Я попробовал добавить это свойство вручную, добавив его в режимы просмотра страницы входа в систему.

Код: Выделить всё

public ICommand LoginCommand { get; set; }
public LoginPageViewModes()
{
LoginCommand = new Command(OnLogin);
}

private void OnLogin()
{
//Same code as in LoginCommand
}
Это дало мне больше ошибок.
Код должен просто проверить, не являются ли оба поля ввода «черными», а затем, при нажатии на знак в кнопке. Следует перейти на следующую страницу.
Я новичок в .NET Maui.
Буду очень благодарен за любую помощь!.

Подробнее здесь: https://stackoverflow.com/questions/790 ... ageviewmod
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»