2010-08-04 87 views
2

everyone。这是我的问题。我在我的项目中使用MVVM模式,我有一个UserControl,它有一个TabControl。 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 2010-08-04 14:46:53

回答