Информация об изменениях

Сообщение wpf отчего может RelayCommand делать кнопку IsEnabled=false от 04.11.2016 14:36

Изменено 04.11.2016 14:36 okon

Есть RelayCommand из MvvmLight на него забиндена кнопка, вроде как все работает.


public RelayCommand MyCommand {get;}

public MyClass( IMyInterface service)
{
    MyCommand = new RelayCommand(()=>DoSomething(), ()=> 

    {  
       Debug.Writeline("CanExecute");
       var result = service.Check();
       Debug.Writeline("CanExecute {result}");      
    });

}


Но в определенных обстоятельствах кнопка становится IsEnabled=false, причем стоят логи на CanExecute и его вызов в момент Disable не происходит последний залогированный вызов — true.
Стили все убраны, стандартные.
В output пишутся все события binding, там ничего нету из ошибок , есть немного Information 10 что хотят FallbackValue, но насколько мне известно это биндинги не ломает.
Как отладить из-за чего состояние кнопки меняется на disabled ?
wpf отчего может RelayCommand делать кнопку IsEnabled=false
Есть RelayCommand из MvvmLight на него забиндена кнопка, вроде как все работает.


public RelayCommand MyCommand {get;}

public MyClass( IMyInterface service)
{
    MyCommand = new RelayCommand(()=>DoSomething(), ()=> 

    {  
       Debug.Writeline("CanExecute");
       var result = service.Check();
       Debug.Writeline("CanExecute {result}");      
       return result;
    });

}


Но в определенных обстоятельствах кнопка становится IsEnabled=false, причем стоят логи на CanExecute и его вызов в момент Disable не происходит последний залогированный вызов — true.
Стили все убраны, стандартные.
В output пишутся все события binding, там ничего нету из ошибок , есть немного Information 10 что хотят FallbackValue, но насколько мне известно это биндинги не ломает.
Как отладить из-за чего состояние кнопки меняется на disabled ?