2010-08-04 7 views
2

모두입니다. 여기에 내 질문이있다. 내 프로젝트에서 MVVM 패턴을 사용하고 있는데 그것에 TabControl을 가지고 UserControl 있습니다. TabItem에 대한 유효성 검사가 있습니다.TabControl (Silverlight 4)의 유효성 검사 요약

<UserControl> 
    <DataInput:ValidationSummary x:Name="ValidationSummary"/> 
    <Grid x:Name="LayoutRoot"> 
     <DataInput:ValidationSummary /> 
     <TabControl x:Name="TabControl"> 
      <TabItem> 
       <MyUserControl1 DataContext="{Binding}" /> 
      </TabItem> 
      <TabItem> 
       <MyUserControl2 DataContext="{Binding}" /> 
      </TabItem> 
      <TabItem> 
       <MyUserControl2 DataContext="{Binding}" /> 
      </TabItem> 
     </TabControl> 
    </Grid> 
</UserControl> 

을 그리고 여기 TabItems에 대한 샘플 코드 :

메인 페이지는 다음과 같습니다의 ValidationSummary에 대한

<UserControl> 
    <Grid> 
    <Text:ExtendedTextBox Text="{Binding Name, Mode=TwoWay, ValidatesOnExceptions=true, NotifyOnValidationError=true}" /> 
    <Data:DataGrid SelectedItem="{Binding SelectedValue, Mode=TwoWay, ValidatesOnExceptions=true, NotifyOnValidationError=true}"/> 
    </Grid> 
</UserControl> 

대상은이 LayoutRoot로 설정됩니다. 하지만 실제로는 보이는 (현재 열어 둔) TabItem에 대해서만 오류가 표시됩니다. 그리고 모든 탭에서 모든 오류를 표시해야합니다. 내가 어떻게 이걸 얻을 수 있니?

+0

UserControl에서'DataContext = "{Binding}"'이 필요하지 않습니다. 부모의 DataContext를 사용하는 것이 기본 동작입니다. – Stephan

답변