对数据进行校验,是日常对输入内容必做的一项工作,silverlight中对数据进行操作可以通过DataForm进行

     DataForm提供了几个校验方法,为开发人员带来便利。

     简单介绍下,ValidationSummary控件,数据校验,以及DataAnnotation部分

  DataForm位置:

    命名控件:System.Windows.Controls

    装配:System.Windows.Controls.Data.Input (位于 System.Windows.Controls,Data.Input.dll)

 

     DataForm中提供校验属性及方法

    ValidationSummary控件:

      1).ValidatesOnExceptions  值true时,ValidationSummary可捕获并显示

  2).NotifyOnValidationError  值true时,ValidationSummary可捕获并显示

      3).ValidationSummary:作用是将异常集中显示,

         要ValidationSummary捕获异常,必须Mode为TwoWay,

         加入:dataInput:ValidationSummary.ShowErrorsInSummary =“False”

          

      了解DataForm中异常捕获和显示后,看看具体显示:

       界面设计如下:

<StackPanel Orientation="Horizontal" Margin="5" x:Name="spUsername"> 
<TextBlock Text="用户名: " VerticalAlignment="Center"/>
<TextBox x:Name="txtUserName" Width="200" DataContext="{Binding Source={StaticResource UserDataContext}}" Text="{Binding Path=Name, Mode=TwoWay, ValidatesOnExceptions=True, NotifyOnValidationError=True,UpdateSourceTrigger=Explicit}" dataInput:ValidationSummary.ShowErrorsInSummary = "False"/>
</StackPanel>

数据校验:

   对数据进行校验 ValidationSummary,Mode为Twoway

   在界面设计中,如下对用户名进行数据校验,设置Mode=TwoWay, ValidatesOnDataErrors=True

1 <StackPanel Orientation="Horizontal" Margin="5" x:Name="spUsername">               
2 <TextBlock Text="用户名: "VerticalAlignment="Center"/>
3 <TextBox x:Name="txtUserName" Width="200" DataContext="{Binding Source={StaticResource UserDataContext}}" Text="{Binding Path=Name, Mode=TwoWay, ValidatesOnDataErrors=True}"/>
4 </StackPanel>

DataAnnotations属性:

    DataAnnotations部分可以参考MSDN内容:http://msdn.microsoft.com/zh-cn/magazine/ee335695.aspx

  常规 DataAnnotations
  

posted on 2011-09-19 22:44  菊花香  阅读(635)  评论(0编辑  收藏  举报