gpt4 book ai didi

Xamarin 表单命令 CanExecute 不更新 Button IsEnabled

转载 作者:行者123 更新时间:2023-12-05 01:17:37 24 4
gpt4 key购买 nike

我正在尝试将样式应用于已被命令禁用的按钮。

我假设 IsEnabled 状态是由 canexecutechanged 事件触发的属性,但它似乎不是。

什么按钮属性受到影响,我可以挂接到此事件以便我可以为按钮提供样式吗?

最佳答案

在您的 View 模型中,您可以添加一个属性来启用或禁用其按钮。遵循以下示例。

public Command FacebookLoginCommand { get; set; }

private bool _IsBusy;
public override bool IsBusy
{
get
{
return _IsBusy;
}
set
{
_IsBusy = value;
OnPropertyChanged();
FacebookLoginCommand?.ChangeCanExecute();
GoogleLoginCommand?.ChangeCanExecute();
}
}

public LoginViewModel(IUserDialogs dialogs) : base(dialogs)
{
FacebookLoginCommand = new Command(async () =>
{
using (Dialogs.Loading("Carregando"))
{
IsBusy = true;
await Task.Run(() => new FacebookLoginService(Dialogs).Logar());
await Task.Run(() => Task.Delay(TimeSpan.FromSeconds(3)));
IsBusy = false;
}
}, CanExecute());

private Func<bool> CanExecute()
{
return new Func<bool>(() => !IsBusy);
}
}

关于Xamarin 表单命令 CanExecute 不更新 Button IsEnabled,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49554141/

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