gpt4 book ai didi

wpf - 启用按钮和委托(delegate)命令

转载 作者:行者123 更新时间:2023-12-04 07:02:45 29 4
gpt4 key购买 nike

如何禁用 Button直到在 TextBox 中输入所需的数据?

我正在绑定(bind) ButtonICommand :

public ICommand LoginCommand
{
get
{
if (_loginCommand == null)
{
_loginCommand = new DelegateCommand<string>(this.Login, this.IsValid);
}
return _loginCommand;
}
}

在这样的 XAML 中:
<Button Style="{StaticResource LoginButton}" Content="Login" Command="{Binding LoginCommand}" CommandParameter="{Binding Text, ElementName=txtUserName}" />

最佳答案

您只需要引发重新查询事件。这很容易使用 DelegateCommand。这是您的 ViewModel 的外观。

此外,如果没有令人信服的理由将您的属性设为 DelegateCommand 类型,那么您应该这样做。

public class MyViewModel : ViewModel
{

private string _myTextField;
public string MyTextField
{
get { return _myTextField; }
set
{

_myTextField = value;
OnPropertyChanged("MyTextField");

//Here's the magic
LoginCommand.RaiseCanExecuteChanged();

}
}

public DelegateCommand<string> LoginCommand { get; set; }

public MyViewModel()
{
LoginCommand = new DelegateCommand<string>(Login, CanLogin);
}

public bool CanLogin(string text)
{
return !string.IsNullOrEmpty(text);
}

public void Login(string text)
{
//login logic
}

}

差不多就是这样。

关于wpf - 启用按钮和委托(delegate)命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1587665/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com