Странное поведение между ListCollectionView.Refresh () и RoutedCommand - PullRequest
2 голосов
/ 05 июля 2011

У меня есть ListView, который связан с ListCollectionView.

В том же окне у меня есть 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, она остается включенной).

Вы слышали что-то подобное раньше? Ты хоть представляешь, что делать?

Заранее спасибо.

Ответы [ 3 ]

0 голосов
/ 06 июля 2011

Попробуйте установить цель команды для ее родителя.Ссылка: http://msdn.microsoft.com/en-us/magazine/cc785480.aspx

0 голосов
/ 06 июля 2011

Я сдаюсь ... Я пойду на решение RelayCommand ...

Спасибо всем, кто пытался помочь!

0 голосов
/ 05 июля 2011

Я бы посоветовал проверить ваш RefreshCommandExecuted, вы как-то влияете на состояние включения команды.С уважением.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...