33 lines
1.0 KiB
C#
33 lines
1.0 KiB
C#
using System.Reactive.Linq;
|
|
using Avalonia.Controls;
|
|
using Avalonia.Markup.Xaml;
|
|
using DispenserCommon.Utils;
|
|
using DispenserUI.ViewModels.Login;
|
|
|
|
namespace DispenserUI.Views.Login;
|
|
|
|
public partial class LoginView : UserControl
|
|
{
|
|
private readonly TextBox? _pwdTextBox;
|
|
|
|
public LoginView()
|
|
{
|
|
DataContext = ViewModel;
|
|
InitializeComponent();
|
|
_pwdTextBox = this.FindControl<TextBox>("PwdTextBox");
|
|
//订阅大写键抬起事件、pwdTextBox焦点获得事件、pwdTextBox焦点丢失事件
|
|
KeyUp += async (sender, e) => await ViewModel.CapsLockUpCommand.Execute();
|
|
if (_pwdTextBox != null)
|
|
{
|
|
_pwdTextBox.GotFocus += async (sender, e) => await ViewModel.PwdTextBoxGotFocusCommand.Execute();
|
|
_pwdTextBox.LostFocus += async (sender, e) => await ViewModel.PwdTextBoxLostFocusCommand.Execute();
|
|
}
|
|
}
|
|
|
|
public LoginVM ViewModel { get; } = ServiceLocator.GetService<LoginVM>();
|
|
|
|
private void InitializeComponent()
|
|
{
|
|
AvaloniaXamlLoader.Load(this);
|
|
}
|
|
} |