2012-01-17 3 views
0

MVVM과 WPF 응용 프로그램에서 작업 중이지만 MVVM 표시 등과 같은 MVVM 프레임 워크를 사용하지 않습니다. atleast 8에서 9 개의 컨트롤을 호스트하는 사용자 컨트롤을 만들었으며이 컨트롤은 ItemControl에 표시됩니다. 메인 윈도우. 주 창에는 저장 및 닫기 버튼이 있습니다. 사용자 지정 DataValidation을 구현했으며 컨트롤에 데이터 유효성 검사가 있으면 저장 단추가 비활성화됩니다. 이것은 다른 모든 컨트롤에서는 예상대로 작동하지만 ItemControl에서는 작동하지 않습니다. 사용자 정의 컨트롤에 데이터 유효성 검사가 있고 유효성 검사 오류가 표시되지만 저장 버튼을 비활성화 할 수는 없습니다. 어떤 도움이라도 대단히 감사하겠습니다. 추가 세부 정보가 필요하면 알려주십시오.Itemscontrol의 UserControl 유효성 검사

+2

가능한 경우 간결한 코드 예제를 추가하는 것이 좋습니다. 친애하는, –

답변

0

버튼을 활성화 또는 비활성화하려면 MVVM Commands을 사용해야합니다.

버튼을 사용하여 명령 (예 : 저장)을 CanExecute() 대리인 기능으로 바인딩 할 수 있습니다. 이 CanExecute()ItemsControl에있는 사용자 컨트롤이 유효하지 않은지 (사용자 컨트롤의 validity 속성을 사용하여) 잘못된지를 확인할 수 있습니다.

CanExecute()은 UI를 렌더링 할 때마다 거의 해고되기 때문에 관찰 가능 일종입니다.