2010-05-31 3 views
0

변경 후 추가 된 UserControls 새로 고침 나는이 문제가 : WPF : 나는 마이크로 소프트 표면 응용 프로그램을하고 있어요

내가 MVVM 패턴을 사용합니다. 사용자가 표면에 ID 카드 (태그가있는)를 놓으면이 사용자는 "현재 사용자"로 설정됩니다. 버튼을 누를 때 사용자는 자신의 주소 및 기타 물건을 편집 할 수 있습니다. 그는 "저장"버튼과 "종료"버튼이 표시됩니다. 이 버튼에는 데이터베이스의 변경 사항을 저장하거나 변경 사항을 취소하는 RelayCommands가 있습니다. 따라서이 단추가 먼저 표시되면 단추가 비활성 상태이며 단추 명령의 CommandParameter 인 "현재 사용자"가이 시점에서 여전히 null이므로 단추를 누를 수 없습니다. 나중에 응용 프로그램이 "현재 사용자"가 더 이상 null이 아니라는 것을 인식하면 버튼은 비활성 상태로 유지되지만 잠시 응용 프로그램을 종료 한 다음 키보드로 돌아가는 것처럼 (키보드의 Microsoft 단추 사용) 볼 수 있습니다 그러면 버튼이 활성화됩니다. 그래서 UserControls "새로 고침"가능성이 필요하다고 생각합니다.

어떻게하면됩니까?

답변

1

나는 당신이 명령에 "CanExecute"의 평가를 강제해야한다고 생각 될 때 (보통 세터에) "현재 사용자"값 변경. ICommand의 구현에 따라 CanExecute 상태를 다시 평가하도록 요청하는 방법이나 이벤트가 있어야합니다.

HTH

+0

그렇습니다. e.CanExecute = CurrentUser! = null; – Faisal

+0

작동하는 것으로 보입니다. 감사! – sofri

관련 문제