문제

a Button 에 묶여 NavigationCommands.RefreshCommand. 명령의 핸들러는 상위 제어에 있습니다. 핸들러의 CanExecute 이렇게 보인다 :

e.CanExecute = !IsConnecting; // IsConnecting is a Dependency Property

어떤 이유로 Button 창을 클릭 할 때까지 장애가 남아 있습니다.

내가 클릭하면 Button 그리고 그것을 실행하도록하십시오 (원인 IsConnecting 일시적으로 true로 설정하려면) 버튼을 올바르게 비활성화하지만 창에서 다른 이벤트가 발생할 때까지 버튼을 활성화하지 않습니다 (예 : 클릭).

버튼에 바인딩 된 명령의 CanExecute 핸들러를 디버깅하는 데 사용할 수있는 도구 나 요령이 있습니까?

도움이 되었습니까?

해결책

버튼의 CANEXECUTE는 GUI에서 무언가가 발생할 때만 호출됩니다. 백그라운드에서 연결된 변경 사항이 있으므로 WPF는 컨트롤을 업데이트하지 않습니다.

WPF가 CanExecute 호출을 업데이트하도록 강요합니다 CommandManager.InvalidateRequerySuggested

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top