我有一个绑定(bind)到 ListCollectionView
的 ListView
。
在同一个窗口中,我有一个 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/