对数据进行校验,是日常对输入内容必做的一项工作,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