使用RaiseCanExecuteChanged

时间:2011-06-22 11:18:59

标签: delegatecommand

我制作了两个像这样的方法:

private void Next(字符串参数) {     Current = Clients [Clients.IndexOf(Current)+ 1];       ((DelegateCommand)NextCommand).RaiseCanExecuteChanged(); }

private void Previous(字符串参数) {    Current = Clients [Clients.IndexOf(Current) - 1];     ((DelegateCommand)PreviousCommand).RaiseCanExecuteChanged();

}

并绑定到xaml:

每件事情都很好。当它击中最后一个帖子时,下一个按钮变为非活动/灰色。 问题是当我单击“上一步”按钮时(“下一步”按钮)仍处于非活动状态。 “下一步”按钮始终处于非活动状态。 我的问题是如何让Next按钮再次激活?感谢所有帮助。

1 个答案:

答案 0 :(得分:0)

我假设你在谈论WPF应用程序。

您的按钮可能会变为/保持不活动状态有几个原因:

  • 您的CanExecute实现有问题,即使应该返回true也会返回false
  • 你没有实现CanExecute或没有正确挂钩
  • CommandManager没有意识到是时候重新查询命令
  • 您的窗口/控件上的焦点出现了问题

您需要显示更多代码,以便我们更全面地了解您的目标。