在Silverlight中进行基本的数据验证
2009-03-04 11:58:45 来源:WEB开发网Silverlight 2支持基本的数据验证功能。在Silverlight 2中,当我们把数据绑定到某个UI控件的时候,该数据所具有的有效性规则也自动被绑定到了该UI控件上。
比如某个数据字段被设置为整数型,当我们用非整数型数据对该字段进行更新的时候就会发生错误。我们就可以利用这个规则在UI中对输入数据进行验证。要做到这点,我们只要设置两个XAML属性,并在所定义的事件中实现我们所期望的UI行为就可以了。
比如下面的XAML代码定义了一组控件,用户通过TextBox对数据进行更新:
﹤StackPanel x:Name="dataForm"﹥
﹤TextBlock Text="FirstName" Width="125" FontSize="12" /﹥
﹤TextBox x:Name="FirstNameTextBox" IsReadOnly="False" Width="150"
Text="{Binding FirstName, Mode=TwoWay, NotifyOnValidationError=true, ValidatesOnExceptions=true}"
BindingValidationError="FirstNameTextBox_BindingValidationError"/﹥
﹤/StackPanel﹥
当NotifyOnValidationError和ValidatesOnExceptions这两个属性都设置为true的时候,Silverlight就会在对输入数据验证所绑定的规则发生错误的时候触发BindingValidationError事件,这样我们就会在验证发生错误时得到通知。
接下来我们要做的就是实现事件触发时的行为,也就是我们期望的UI行为。如:
private void FirstNameTextBox_BindingValidationError(object sender, ValidationErrorEventArgs e)
{
if (e.Action == ValidationErrorEventAction.Added)
{
((Control)e.OriginalSource).Background = new SolidColorBrush(Colors.Red);
this.Dispatcher.BeginInvoke(()=>HtmlPage.Window.Alert("The input format is invalid"));
}
if (e.Action == ValidationErrorEventAction.Removed)
{
((Control)e.OriginalSource).Background = new SolidColorBrush(Colors.White);
}
}
在上面这段代码中,当错误发生时,控件(这里是TextBox)的背景色就会变成红色,并利用HTML页面的警告窗口给用户提示信息。而当错误被更正时,空间就会还原到默认的白色。
Tags:Silverlight 进行 基本
编辑录入:爽爽 [复制链接] [打 印]- ››silverlight全屏显示图片
- ››Silverlight MVVM 模式(一) 切近实战
- ››基本的随机数的产生和排序
- ››Silverlight for Windows Phone 7开发系列(1):...
- ››Silverlight for Windows Phone 7开发系列(2):...
- ››Silverlight for Windows Phone 7开发系列(3):...
- ››Silverlight for Windows Phone 7开发系列(4):...
- ››Silverlight for Symbian
- ››Silverlight3系列(四)数据绑定 Data Binding 1
- ››基本命令用活:复杂装饰品模型精简化
- ››silverlight2 游戏 1 你能坚持多少秒
- ››Silverlight开发实践--PicZoomShow
赞助商链接