找回密码
 立即注册

QQ登录

只需一步,快速开始

来爱清
论坛元老   /  发表于:2015-4-10 09:39  /   查看:18597  /  回复:20
请问 C1NumericBox控件 如何弹出验证提示?
谢谢!

20 个回复

倒序浏览
Alice
社区贡献组   /  发表于:2015-4-10 10:35:00
沙发
回复 1楼来爱清的帖子

你可以设置C1NumericBox的 Minimum 和Maximum属性规定值的验证范围。
你也可以选择一个范围验证模式,比如使用RangeValidationMode属性。
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
来爱清
论坛元老   /  发表于:2015-4-10 11:33:00
板凳
回复 2楼Alice的帖子

谢谢Alice的回复,我可能表达不清楚,请看下图



上图“名称”文本框是C1MaskedTextBox控件,通过以下代码设置ValidatesOnExceptions,ValidatesOnDataErrors,NotifyOnValidationError属性为True,这样就可以弹出验证提示

  1. <c1:C1MaskedTextBox MaxLength="20"
  2. Text="{Binding FName, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged, ValidatesOnExceptions=True, ValidatesOnDataErrors=True, NotifyOnValidationError=True}"  
  3. Name="TbFName" />
复制代码

  1. [Required(AllowEmptyStrings = false, ErrorMessage = "必填")]
  2.         public String FName
  3.         {
  4.             get { return Item.FName; }
  5.             set
  6.             {
  7.                 if (Item.FName != value)
  8.                 {
  9.                     Item.FName = value;
  10.                     RaisePropertyChanged(() => FName);
  11.                 }
  12.             }
  13.         }
复制代码


目前主要问题
1、在“层数”文本框使用的是C1NumericBox控件,参照C1MaskedTextBox 上面方式来设置验证提示,希望当在文本框清空数字时或者获得焦点时能弹出验证提示,提示“必填”信息,现在结果不能弹出验证提示了。请问C1NumericBox应该如何处理触发验证提示的?
2、从C1NumericBox查看其模板时有个C1ValidationDecorator这个是做什么用途,可否用于弹出验证提示

谢谢!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2015-4-10 13:37:00
地板
回复 3楼来爱清的帖子

C1NumericBox控件默认值是0,不是空。
尝试msdn提供的值验证的方法如下:
https://msdn.microsoft.com/en-us ... lidatesondataerrors(v=vs.110).aspx

将TextBox控件换成C1NumericBox控件,但是没有起作用。

接下来我会验证为什么没有起作用,如果实现会给你个反馈。
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
来爱清
论坛元老   /  发表于:2015-4-10 13:48:00
5#
回复 4楼Alice的帖子

谢谢Alice的回复!
C1NumericBox控件有AllowNull属性,默认设置AllowNull=&quot;True&quot;,这个是可以填空,只是不知道为什么没有触发到验证
回复 使用道具 举报
来爱清
论坛元老   /  发表于:2015-4-10 16:11:00
6#
目前C1NumericBox控件发现一个问题,如果填了数字,就会触发PropertyChanged事件,但是如果清空数字,就不会触发PropertyChanged事件,估计这样原因就不能进一步触发验证了。在C1MaskedTextBox 控件里填空值是可以触发的,C1NumericBox控件有没有办法在清空数字时触发PropertyChanged事件的?
谢谢!
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2015-4-10 17:27:00
7#
回复 6楼来爱清的帖子

你的问题我们收到。
很抱歉给你带来使用上的不便。
这里的确有不能触发验证的问题,具体原因还在调查中。
我会尽快帮助你解决这个问题,给你个解决方案。
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
来爱清
论坛元老   /  发表于:2015-4-10 18:26:00
8#
回复 7楼Alice的帖子

好的,谢谢!
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2015-4-13 09:29:00
9#
回复 6楼来爱清的帖子

如下是我们专门为你做的解决方案。
当文字区域是null的时候会提示“必填”.
请参考附件的示例,有问题请提出。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
来爱清
论坛元老   /  发表于:2015-4-13 14:30:00
10#
回复 9楼Alice的帖子

谢谢Alice的回复,方案已看了,这是通过设置ToolTip来显示验证结果提示,这个试过是可以,可惜目前不能使用这个ToolTip属性,它似乎不能读取[Required]特性的“必填”信息。

见下图C1MaskedTextBox文本控件不通过ToolTip属性来显示提示,目前好像是通过控件内部的C1ValidationDecorator来弹出提示效果,所以希望C1NumericBox控件也通过这种方式显示


  1. <c1:C1ValidationDecorator x:Name="ValidationDecorator" CornerRadius="{TemplateBinding CornerRadius}" Style="{TemplateBinding ValidationDecoratorStyle}" Target="{Binding RelativeSource={RelativeSource TemplatedParent}}"/>
复制代码

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
123下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部