は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()
を行うたび、私は私のListView
に行をクリックするまで、Button
は...無効になってしまうことです!
Refresh()
とRoutedCommand
の間で問題を切り離しました(無効のままにしておいた場合は、Button
)。
これまでに聞いたことがありますか?何をすべきか考えていますか?
ありがとうございます。
plsはRefreshCommandがどのように構築されているかを示します。それはICommandから継承していますか?もしそうなら、CanExecuteを実装して、デフォルトでtrueを返してください。 –
@anvarbekあなたの返事をありがとう。 RefreshCommandは、ICommandから派生したRoutedCommandです。 CanExecuteで提案したことを既に試してみました。 – Dummy01