【问题标题】:Validation Summary in TabControl (Silverlight 4)TabControl 中的验证摘要 (Silverlight 4)
【发布时间】:2010-08-04 07:38:31
【问题描述】:

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

主页面如下所示:

<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 的错误。我需要显示所有选项卡中的所有错误。我怎样才能做到这一点?

【问题讨论】:

  • 您的用户控件中不需要DataContext="{Binding}"。使用父级的 DataContext 是默认行为。

标签: silverlight validation mvvm tabcontrol validationsummary


【解决方案1】:

【讨论】:

  • 虽然这不是一个优雅的解决方案,但它可能很有用,谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-28
  • 1970-01-01
  • 2011-11-13
相关资源
最近更新 更多