silverlight怎么删除验证不通过后控件上的红框和提示?

HP7V7 2012-06-28 12:34:41
我界面上有三个控件,都有非空验证,点击提交之后,控件上出现红色边框并提示错误,然后,还有另一个叫“重置”的button控件,希望点击之后控件上的验证都消掉,不刷新页面。。有啥办法吗?
我是新手⊙︿⊙
...全文
179 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
gaomeng320 2012-07-03
  • 打赏
  • 举报
回复
我有一个办法,已通过测试

1.首先改一下实体类,不是以前验证的那种,例如这样

private string userName;
public string UserName
{
get { return userName; }
set
{
if (MainPage.isVal)
{
if (string.IsNullOrEmpty(value))
{
throw new Exception("用户名不能为空.");
}
userName = value;
OnPropertyChanged("UserName");
}

}
}

MainPage.isVal是MainPage页面的一个静态的全局的变量,默认为true
public static bool isVal = true;
只有他是true的时候才会有非空判断

2.后台写个验证方法,例如这样

/// <summary>
/// 验证
/// </summary>
/// <returns></returns>
public bool Validate()
{
bool result = false;

//用户名
BindingExpression coverName = textBox1.GetBindingExpression(TextBox.TextProperty);
coverName.UpdateSource();
if (Validation.GetHasError(textBox1))
return result;

return true;
}


3.在确定按钮里

if (Validate())
{

}


4.再重选按钮里

isVal = false;
BindingExpression name = textBox1.GetBindingExpression(TextBox.TextProperty);
name.UpdateSource();


ok了
HP7V7 2012-07-03
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]

比如是验证是不能为空,你点按钮的时候自动让这个不为空,验证通过不就可以了嘛。
[/Quote]
不是啊,那个按钮是“重置”按钮,也就是按下去之后恢复到页面第一次加载文本框为空的时候,还没验证的状态。我是想知道除了重新加载还有别的办法能取消验证不。。。
wwwljh 2012-07-02
  • 打赏
  • 举报
回复
比如是验证是不能为空,你点按钮的时候自动让这个不为空,验证通过不就可以了嘛。
HP7V7 2012-07-02
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

http://www.cnblogs.com/yjmyzz/archive/2011/05/21/2053112.html
这里面写的很详细。自己看一下。
文字太多贴不过来。
[/Quote]
不是,我验证会做,就是验证完了之后,除非改变文本框里的内容,否则文本框上的红框不会消失,我想一点按钮他就消失。。。
wwwljh 2012-06-29
  • 打赏
  • 举报
回复
http://www.cnblogs.com/yjmyzz/archive/2011/05/21/2053112.html
这里面写的很详细。自己看一下。
文字太多贴不过来。

8,757

社区成员

发帖
与我相关
我的任务
社区描述
WPF/Silverlight相关讨论
社区管理员
  • WPF/Silverlight社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧