在Silverlight中如何進行基本的數據驗證

這篇文章給大家分享的是有關在Silverlight中如何進行基本的數據驗證的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

成都創(chuàng)新互聯(lián)公司專注于企業(yè)成都營銷網站建設、網站重做改版、揭西網站定制設計、自適應品牌網站建設、HTML5建站、電子商務商城網站建設、集團公司官網建設、成都外貿網站制作、高端網站制作、響應式網頁設計等建站業(yè)務,價格優(yōu)惠性價比高,為揭西等各大城市提供網站開發(fā)制作服務。

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

比如某個數據字段被設置為整數型,當我們用非整數型數據對該字段進行更新的時候就會發(fā)生錯誤。我們就可以利用這個規(guī)則在UI中對輸入數據進行驗證。要做到這點,我們只要設置兩個XAML屬性,并在所定義的事件中實現(xiàn)我們所期望的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就會在對輸入數據驗證所綁定的規(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頁面的警告窗口給用戶提示信息。而當錯誤被更正時,空間就會還原到默認的白色。

感謝各位的閱讀!關于“在Silverlight中如何進行基本的數據驗證”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

網頁標題:在Silverlight中如何進行基本的數據驗證
網站地址:http://muchs.cn/article4/iejdoe.html

成都網站建設公司_創(chuàng)新互聯(lián),為您提供搜索引擎優(yōu)化、動態(tài)網站服務器托管、網頁設計公司、商城網站建站公司

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

手機網站建設