WPF验证之——必填验证

要事先必填验证,首先要重写ValidationRule类的Validate方法,然后在Binding中指定对应的ValidationRule。

第一步:重写ValidationRule的Validate

public class RequiredValidationRule:ValidationRule {

	public override ValidationResult Validate(object value, System.Globalization.CultureInfo cultureInfo) {
		if (value == null || string.IsNullOrWhiteSpace(value.ToString())) {
			return new ValidationResult(false, "内容不能为空");
		}
		return new ValidationResult(true, null);
	}
}


第二步:窗体:


		
			
				
			
		
	


第三步:错误控件的样式


	
		
		
	


我们来看看效果图:,貌似不错,但是还有不尽人意之处。在控件Focus时,控件内容为空,我希望此时就显示错误提示,而不是更改后再显示错误提示,首先要添加PreviewGotKeyboardFocus事件

private void TextBox_PreviewGotKeyboardFocus(object sender, KeyboardFocusChangedEventArgs e) {
	TextBox tb = sender as TextBox;
	tb.GetBindingExpression(TextBox.TextProperty).UpdateSource();
}


好,我们轻松地实现了必填验证。

下载地址见:http://qing2005.download.csdn.net/

你可能感兴趣的:(WPF,C#,验证,ValidationRule,focus)