我有一個ListView
它綁定到一個ListCollectionView
。ListCollectionView.Refresh()和RoutedCommand之間的奇怪行爲
在同一窗口中,我有一個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
中排除命令,它將保持啓用狀態)。
你以前聽過類似的東西嗎?你有什麼想法做什麼?
預先感謝您。
請向我們展示RefreshCommand是如何構造的,它是從ICommand繼承的?如果是這樣,請嘗試執行CanExecute,並在默認情況下返回true –
@anvarbek感謝您的回覆。 RefreshCommand是從ICommand派生的RoutedCommand。我已經嘗試了你的建議與CanExecute ...沒有運氣! – Dummy01