在Silverlight中如何進(jìn)行基本的數(shù)據(jù)驗(yàn)證

這篇文章給大家分享的是有關(guān)在Silverlight中如何進(jìn)行基本的數(shù)據(jù)驗(yàn)證的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過來(lái)看看吧。

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

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

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

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

﹤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﹥

當(dāng)NotifyOnValidationError和ValidatesOnExceptions這兩個(gè)屬性都設(shè)置為true的時(shí)候,Silverlight就會(huì)在對(duì)輸入數(shù)據(jù)驗(yàn)證所綁定的規(guī)則發(fā)生錯(cuò)誤的時(shí)候觸發(fā)BindingValidationError事件,這樣我們就會(huì)在驗(yàn)證發(fā)生錯(cuò)誤時(shí)得到通知。

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

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

感謝各位的閱讀!關(guān)于“在Silverlight中如何進(jìn)行基本的數(shù)據(jù)驗(yàn)證”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!

網(wǎng)頁(yè)標(biāo)題:在Silverlight中如何進(jìn)行基本的數(shù)據(jù)驗(yàn)證
網(wǎng)站地址:http://muchs.cn/article4/iejdoe.html

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

廣告

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

手機(jī)網(wǎng)站建設(shè)