2010-08-04 7 views
2

tout le monde. Voici ma question. J'utilise un pattern MVVM dans mon projet et j'ai un UserControl, qui a un TabControl dessus. TabItems ont des validations sur eux.Résumé de validation dans TabControl (Silverlight 4)

Page principale ressemble à ceci:

<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> 

Et voici un exemple de code pour TabItems:

<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> 

cible pour ValidationSummary est réglé sur LayoutRoot. Mais en réalité, il ne montre que des erreurs pour TabItem visible (actuellement ouvert). Et j'ai besoin de montrer toutes les erreurs de tous les onglets. Comment puis-je atteindre cet objectif?

+0

Vous n'avez pas besoin de 'DataContext =" {Binding} "' dans votre UserControl. L'utilisation du DataContext du parent est le comportement par défaut. – Stephan

Répondre