2

每个人。这是我的问题。我在我的项目中使用 MVVM 模式,并且我有一个 UserControl,上面有一个 TabControl。TabItems 对它们进行了验证。

主页面如下所示:

<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 的示例代码:

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

ValidationSummary 的目标设置为 LayoutRoot。但实际上,它只显示可见(当前打开的)TabItem 的错误。我需要显示所有选项卡中的所有错误。我怎样才能做到这一点?

4

1 回答 1

4

Walkor,请参阅:Using BindingValidationError to Add Messages to a Validation Summary in Silverlight

希望有所帮助!

于 2010-11-19T13:47:25.673 回答