我尝试了一些解决方案,但它们似乎适用于 WPF。
这是我目前所拥有的,但它似乎不起作用:
<Grid>
<StackPanel Orientation="Vertical">
<StackPanel Orientation="Horizontal">
<TextBlock Text="Username :"/>
<TextBox x:Name="userNameTextBox" Text="{Binding Username, Mode=TwoWay}" />
</StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock Text="Password :" />
<TextBox x:Name="passwordTextBox" Text="{Binding Password, Mode=TwoWay}" />
</StackPanel>
<Button IsEnabled="{Binding ElementName=userNameTextBox, Path=Text.Length}" Command="{Binding LoginCommand }" Content="Login" />
</StackPanel>
</Grid>
因此,如果 userNameTextBox 和 passwordTextBox 不为空,我想让按钮启用。
它始终保持启用状态。我究竟做错了什么?是否可以仅通过 XAML 执行此操作?
private string _username;
public string Username
{
get { return _username; }
set
{
_username = value;
RaisePropertyChanged(nameof(Username));
RaisePropertyChanged(nameof(IsButtonEnable));
}
}
private string _password;
public string Password
{
get { return _password; }
set {
_password = value;
RaisePropertyChanged(nameof(Password));
RaisePropertyChanged(nameof(IsButtonEnable));
}
}
private bool _isButtonEnable;
public bool IsButtonEnable
{
get
{
if (!string.IsNullOrEmpty(_username) && !string.IsNullOrWhiteSpace(_username)
&& !string.IsNullOrEmpty(_password) && !string.IsNullOrWhiteSpace(_password))
{
return true;
}
else
{
return false;
}
}
}