這篇文章給大家分享的是有關在Silverlight中如何進行基本的數據驗證的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
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頁面的警告窗口給用戶提示信息。而當錯誤被更正時,空間就會還原到默認的白色。
感謝各位的閱讀!關于“在Silverlight中如何進行基本的數據驗證”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。