c# - ListCollectionView.Refresh() 和 RoutedCommand 之间的奇怪行为

标签 c# wpf

我有一个绑定(bind)到 ListCollectionViewListView

在同一个窗口中,我有一个 Button,它带有一个附加的 RoutedCommand,没有 CanExecute 处理程序。

    public static RoutedCommand RefreshCommand = new RoutedCommand();

<CommandBinding Command="{x:Static local:DatabaseTaskViewer.RefreshCommand}"Executed="RefreshCommandExecuted"/>

<Button Command="{x:Static local:DatabaseTaskViewer.RefreshCommand}">Refresh</Button>



private void RefreshCommandExecuted(object sender, ExecutedRoutedEventArgs e)
{
    Presenter.Process();
    e.Handled = true;
}

问题是,每当我执行 ListCollectionView.Refresh() 以将新过滤器应用到我的收藏时,Button 就会被禁用...直到我点击我的 ListView 中的一行!

我隔离了 Refresh()RoutedCommand 之间的问题(如果我从 Button 中排除该命令,它会保持启用状态)。

你以前听说过类似的事情吗?你知道该怎么做吗?

提前谢谢你。

最佳答案

我建议检查您的 RefreshCommandExecuted,您会以某种方式影响命令的启用状态。 问候。

关于c# - ListCollectionView.Refresh() 和 RoutedCommand 之间的奇怪行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6579272/

相关文章:

WPF LINQ 和 ObservableCollection

c# - XML序列化

c# - 在 ASP.NET 中获取服务器的 IP 地址?

c# - 从调用者类调用方法并避免循环依赖

c# - "Object reference not set to an instance of object"回调错误

WPF - 为每个带有样式的 TreeViewItem 根节点设置不同的 ToggleButton 图像

c# - 如果删除元素,List<T> 会缩小大小

c# - 在 Canvas 上画圆

c# - WPF 如何根据 treeviewitem 类型更改上下文菜单项?

c# - 为什么 CheckBox.IsChecked 属性为 Nullable<bool>?