【发布时间】:2019-03-15 20:25:49
【问题描述】:
我在按钮上有一个 WPF 命令,用于在 ListView 项目上应用一个选项,如果所选项目计数大于零,则可以执行的操作与列表视图选择有关。
private void DeleteItemCommand_CanExecute(object sender, CanExecuteRoutedEventArgs e)
{
e.CanExecute = SomeListView.SelectedItems.Count > 0;
}
问题是,即使我选择了一个或多个项目,该命令也永远无法执行。我知道我可以使用CommandManager.InvalidateRequerySuggested(); 刷新所有命令,但我不知道它是否会起作用,以及如何在这里执行?每 1 秒 ?
【问题讨论】:
-
你能检查一下方法是否被调用了吗?
-
问题可能是当 selectedItems 改变时命令的 CanExecute 永远不会运行 (NotifyPropertyChanged)