自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

在Silverlight中進行基本的數(shù)據(jù)驗證

開發(fā) 后端
本文講解了Silverlight 2的數(shù)據(jù)驗證功能。在Silverlight 2中當我們把數(shù)據(jù)綁定到某個UI控件的時候,該數(shù)據(jù)所具有的有效性規(guī)則也自動被綁定到了該UI控件上。

Silverlight 2支持基本的數(shù)據(jù)驗證功能。在Silverlight 2中,當我們把數(shù)據(jù)綁定到某個UI控件的時候,該數(shù)據(jù)所具有的有效性規(guī)則也自動被綁定到了該UI控件上。

比如某個數(shù)據(jù)字段被設(shè)置為整數(shù)型,當我們用非整數(shù)型數(shù)據(jù)對該字段進行更新的時候就會發(fā)生錯誤。我們就可以利用這個規(guī)則在UI中對輸入數(shù)據(jù)進行驗證。要做到這點,我們只要設(shè)置兩個XAML屬性,并在所定義的事件中實現(xiàn)我們所期望的UI行為就可以了。

比如下面的XAML代碼定義了一組控件,用戶通過TextBox對數(shù)據(jù)進行更新:

﹤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這兩個屬性都設(shè)置為true的時候,Silverlight就會在對輸入數(shù)據(jù)驗證所綁定的規(guī)則發(fā)生錯誤的時候觸發(fā)BindingValidationError事件,這樣我們就會在驗證發(fā)生錯誤時得到通知。

接下來我們要做的就是實現(xiàn)事件觸發(fā)時的行為,也就是我們期望的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);
    }
} 

在上面這段代碼中,當錯誤發(fā)生時,控件(這里是TextBox)的背景色就會變成紅色,并利用HTML頁面的警告窗口給用戶提示信息。而當錯誤被更正時,空間就會還原到默認的白色。

【編輯推薦】

  1. 專題:一步一步學(xué)Silverlight 2
  2. Silverlight 3功能前瞻
  3. 詳解Silverlight中的Downloader對象
責(zé)任編輯:佚名 來源: 博客園
相關(guān)推薦

2009-06-22 10:29:11

集成測試Spring

2010-03-30 18:48:24

Oracle 學(xué)習(xí)

2011-08-01 10:41:59

Xcode 條件編譯

2023-08-02 08:02:30

Redis數(shù)據(jù)原生方法

2023-10-18 18:31:04

SQL查詢數(shù)據(jù)

2021-03-24 09:30:02

Jupyter not單元測試代碼

2021-08-27 14:36:01

主題建模BerTopic

2012-04-09 13:39:37

ibmdw

2011-03-22 09:45:59

IBMDB2數(shù)據(jù)庫包的重綁定

2009-12-30 16:19:49

Silverlight

2020-06-30 08:23:00

JavaScript開發(fā)技術(shù)

2019-04-18 09:15:05

DaskPython計算

2024-05-06 13:34:28

WireGoogleGo

2020-09-17 06:42:31

ReactStoreon前端

2009-12-28 13:59:12

ADO調(diào)用存儲過程

2023-06-19 15:38:38

JavaScripAPI

2021-08-13 13:39:29

云計算云計算環(huán)境云應(yīng)用

2024-01-31 12:06:32

PostgreSQL遞歸函數(shù)查詢

2010-01-04 16:30:06

Silverlight

2025-02-10 10:29:32

點贊
收藏

51CTO技術(shù)棧公眾號