2011-03-26 7 views
0

tabcontrol에 그리드 컨트롤이 있습니다. 사용자가 탭을 벗어나려고 할 때 그리드의 유효성을 검사해야합니다. 유효성 검사에 실패하면 탭 변경을 취소해야합니다 (유효성 검사가 완료 될 때까지 사용자가 탭을 변경하지 못하도록).WPF의 탭 변경 (보기 변경) 유효성 확인

이 방법의 문제점은 SelectionChanged 이벤트가있는 하위 항목으로 인해 내 탭 컨트롤의 SelectionChanged 이벤트가 여러 번 발생한다는 것입니다. 그러면 유효성 검증 메시지가 반복해서 나타납니다.

또한 탭 변경을 취소하기 위해 SelectionChanged 이벤트 내에서 동일한 탭을 다시 선택해야 이벤트가 다시 발생합니다.

어떻게하면이 문제를 해결할 수 있습니까?

답변

2

처음에 탭 변경을 방지하는 방법은 here입니다. 해당 대리인에서 유효성 검사 로직을 실행할 수 있습니다.

+0

@ Markus에게 감사드립니다. –

+0

문제없이 작동했습니다. 그러나 this.tabControl.IsSynchronizedWithCurrentItem = true를 추가해야했습니다. 그것을 작동하게 만들기 위해서. –