gpt4 book ai didi

c# - 按钮看起来已禁用,直到我单击某些内容

转载 作者:太空狗 更新时间:2023-10-29 21:41:57 25 4
gpt4 key购买 nike

我有一个绑定(bind)到 ICommand

的按钮
<Button Content="Remove" Command="{Binding RemoveCommand}" x:Name="btnRemove" Visibility="Collapsed" />

完成一些任务后,我使按钮可见,只是它们看起来在我单击某些内容之前处于禁用状态,这是为什么? RemoveCommand 如下所示

public ICommand RemoveCommand
{
get
{
if (_removeCommand == null)
{
_removeCommand = new RelayCommand(() =>
{
if (RemoveRequested != null)
RemoveRequested(this, EventArgs.Empty);
}, () =>
{
// CanExecute Callback
if (Status == WorkStatus.Processing || Status == WorkStatus.Pending)
{
Debug.WriteLine("Returning False" + Status); return false;
}
Debug.WriteLine("Returning True"); return true; // After uploads, this returns True, in my Output Window.
});
}
return _removeCommand;
}

上传后,CanExecute 回调返回 True,因此应该启用按钮,但在我点击某些东西之前它看起来已禁用,为什么会这样?

Video of the Problem

最佳答案

试试 CommandManager.InvalidateRequerySuggested()

此方法应在命令上调用 CanExecute(),并且应更新按钮的 IsEnabled

参见 http://msdn.microsoft.com/en-us/library/system.windows.input.commandmanager.invalidaterequerysuggested.aspx获取更多信息。

关于c# - 按钮看起来已禁用,直到我单击某些内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4303052/

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