2009-04-23 5 views
1

나는 테두리 안에 TextBox와 TextBlock을 가지고 있습니다. TextBlock의 Text 속성은 TextBox의 값에 바인딩됩니다. TextBox에 입력하면 테두리의 폭이 TextBlock의 새 크기에 따라 변경됩니다.텍스트 상자 조건 변경 방지

테두리 크기가 특정 숫자를 초과하는지 테스트하는 TextBox.TextChanged 이벤트 핸들러가 있습니다. 그렇다면 TextBox가 처리기를 발생시키는 변경을하지 못하도록하고 싶습니다.

문자가 항상 끝에 추가 된 경우 텍스트를 부분 문자열로 처리 할 수 ​​있지만 다른 모든 종류의 변경이 발생할 수 있습니다 (예 : TextBox에 많은 양의 텍스트를 붙여 넣는 경우).

그래서 처리기에서 변경되는 것을 방지하는 방법은 무엇입니까? 일부 WindowsForms e.Cancel 속성에서 액션을 무시할 때 기억하지만 WPF에서는 TextChangedEventArgs가 없으므로 분명히 기억합니다.

감사

+0

[Dupe] (http://stackoverflow.com/questions/335129/cancelling-a-wpf-textbox-changed-event). –

+0

이것이 여전히 문제가되는 경우 TextBox.TextChanged 이벤트 처리기를 추가하십시오. 다른 질문에 대답하십시오. –

답변

0

당신은 PreviewTextInput 이벤트를 수신하고 효과를 복용 변화를 방지하기 위해 true로 e.Handled을 설정할 수 있습니다.