2010-03-26 1 views
0

나는 창을 재정의하는 사용자 정의 제어 할 수 있습니다. 내 윈도우의 내용에 대한 ErrorEvent입니다. 즉, 내 윈도우는 이벤트를 잘 수신 할 수 있지만 표준 윈도우 (또는 누구든지)가 어떻게 처리하는지 모방하기 위해 무엇을해야할지 모릅니다.WPF 스타일 재정의 휴식 검증 오류 이벤트 전파

유효성 검사 컨트롤이 표준 창에 있으면 작동합니다. 그들은 OverrideMetadata 호출을 그냥 내 사용자 정의 윈도우 내에두면 작동합니다. 또한 OverrideMetadata 호출을 종료하면 작동하지만 사용자 정의 ControlTemplate은 정의하지 않습니다. 템플릿을 기본 템플릿으로 남겨두면 내부의 내용이 유효성 검사 이벤트를 받고 유효성 검사 템플릿을 사용합니다.

왜 이런 일이 발생하고 이러한 유효성 검사 오류 이벤트를 처리하기위한 재고 기능을 사용자 지정 컨트롤 템플릿을 사용하여 다시 사용할 수 있습니까?

감사합니다. 창에 대한 ControlTemplate이 다음

답변

0

나를 위해 작동합니다 : 당신이 AdornerDecorator

을 제거하면

<ControlTemplate TargetType="{x:Type Window}"> 
       <Grid Background="White"> 
        <Grid.RowDefinitions> 
         <RowDefinition Height="*" /> 
        </Grid.RowDefinitions> 
        <AdornerDecorator> 
         <ContentPresenter Content="{TemplateBinding ContentControl.Content}" ContentTemplate="{TemplateBinding ContentControl.ContentTemplate}" ContentStringFormat="{TemplateBinding ContentControl.ContentStringFormat}" /> 
        </AdornerDecorator> 
       </Grid> 
</ControlTemplate> 

검증 오류가 눈에 보이지 않는 것