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的错误。我需要显示所有选项卡中的所有错误。我怎样才能做到这一点?
您不需要在您的UserControl中使用'DataContext =“{Binding}”''。使用父级的DataContext是默认行为。 – Stephan 2010-08-04 14:46:53