簡體   English   中英

以編程方式強制在Silverlight 3 UIElement(文本框)上進行驗證

[英]Programmatically force validation on Silverlight 3 UIElement (Textbox)

是否可以通過編程輕松地強制uielement在Silverlight 3中進行驗證?

我有一個文本框,在其中綁定了Silverlight.Validators.RegexValidator ,不幸的是,驗證器對照另一個uielements內容(組合框)進行了檢查。 通常,該組合框上的onSelectionChanged-在驗證器中設置了它的所選項目,並且當文本框內容更改(按鍵)時,它會對此進行檢查。

但是我也想在組合框選擇更改時再次運行相同的驗證

我可以做類似myTextBox.Validate();事情嗎myTextBox.Validate(); 甚至像myTextBox.KeyUp()類的東西來強制驗證?

謝謝

假設您的TextBox.Text屬性綁定到某些屬性,則可以強制綁定更新源,這將導致驗證。

var bindingExpression = textBox.GetBindingExpression(TextBox.TextProperty);
bindingExpression.UpdateSource();

看來您使用的是此工具包,而不是內置的綁定驗證系統。 根據ValidatorBase ,看來您應該在驗證器對象上調用Validate(true)

我強烈建議您嘗試使用官方的Silverlight數據驗證支持 ,該支持比僅在KeyUp上驗證TextBox.Text更為強大。 對於正則表達式驗證,您可以將RegularExpressionAttribute應用於TextBox綁定到的屬性。 設置綁定驗證后, Ed Chapel的答案將為您服務。 Silverlight也很可能會自動重新查詢驗證,而您根本不需要處理SelectionChanged。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM