2008-11-04 4 views
-1

나는 TreeView bound to an XmlDataProvider을가집니다. 노드의 이름은 트리에 반영되고 노드의 데이터는 TextBox에 있습니다. 트리 항목을 클릭하면 TextBox에 데이터가로드됩니다.XmlDataProvider 및 바운드 TextBox를 사용하여 원본 데이터의 변경 내용을 감지합니다.

사용자가 XmlDataProvider에서 참조하는 원본 데이터를 변경 한 경우를 확인하는 가장 좋은 방법은 무엇입니까?

파일 이름 옆에 별표 (*)를 붙여 문서가 더럽고 저장되어야한다고 말하고 싶습니다. 또한 프로그램을 종료 할 때 사용자에게 저장하라는 메시지가 표시되는지 여부도 결정됩니다.

불행히도 양방향 바인딩으로 TextBox를 업데이트하면 TextChanged 이벤트가 발생합니다.

TextChanged 이벤트가 사용자 대신 양방향 바인딩 코드에 의해 실행되었음을 확인하는 방법이 있습니까?

또한 XmlDataProvider에서 DataChanged 이벤트를 사용하려고했지만이 이벤트는 데이터를 처음로드 할 때만 발생하는 것처럼 보입니다.

TextBox에서 키 누르기를 직접 트래핑 할 수는 있지만 어수선해 보입니다.

[편집] PreviewTextInput이이 용도로 작동하는 것으로 보입니다. 더 좋은 방법이 있습니까?

답변

0

PreviewTextInput이 트릭을 수행했습니다.

관련 문제