CanYou2 发表于 2015-9-6 11:51:00

C1MaskedTextBox验证样式的问题

我们现在有个需求是更改C1MaskedTextBox的验证方式,具体是隐藏现有C1MaskedTextBox的验证提示方式,改写Textbox的验证样式。现在遇到的问题是C1MaskedTextBox可以隐藏验证样式,但Textbox的验证样式无法出现。

Alice 发表于 2015-9-6 12:21:00

回复 1楼CanYou2的帖子

谢谢你的反馈。
请提供一个简单重现该问题的Demo,我们帮你验证下如何解决。

CanYou2 发表于 2015-9-6 13:50:00


上午有点来不及,附上我写的demo,更新了demo,如果已下载请更新一下

Alice 发表于 2015-9-6 15:11:00

回复 1楼CanYou2的帖子

谢谢提供的demo。
根据demo来看,是由于对C1MaskedTextBox设置了template,代码如下:
<Setter Property="Template">
                  <Setter.Value>
                        <ControlTemplateTargetType="{x:Type c1:C1ValidationDecorator}">
                            <Border x:Name="ValidationErrorElement"BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" CornerRadius="{TemplateBinding CornerRadius}" Visibility="Collapsed">                            </Border>
                        </ControlTemplate>
                  </Setter.Value>
                </Setter>

这段代码使得C1MaksedTextBox的校验的样式被隐藏。
对于C1MaskedTextBox请问你是需要隐藏样式还是不需要?很抱歉不太理解你的需求。

CanYou2 发表于 2015-9-6 15:39:00

回复 4楼Alice的帖子

我的需求是隐藏c1:C1ValidationDecorator的样式,想使用Validation.ErrorTemplate控制当前的C1MaskedTextBox的验证样式

Alice 发表于 2015-9-6 19:08:00

回复 5楼CanYou2的帖子

请参考附件的示例使用Validation.ErrorTemplate来实现需求,对C1MaskedTextBox和C1TextBox。


我使用最新版本2015V2,如果有问题,建议尝试最新版。
http://www.gcpowertools.com.cn/products/download.aspx?pid=6
如果依然有问题,请和我联系。

CanYou2 发表于 2015-9-7 17:11:00

回复 6楼Alice的帖子




我改了页面的背景色,从图上的效果来看,c1MaskedTextBox的Validation.ErrorTemplate的效果没有显示,你那是这样的效果吗?我是vs2013

Alice 发表于 2015-9-8 10:04:00

回复 7楼CanYou2的帖子

问题收到了,我看下给你回复。

Alice 发表于 2015-9-8 14:00:00

回复 7楼CanYou2的帖子

经过测试。
C1MaskedTextBox在校验失败的时候使用的样式来自ValidationDecoratorStyle。
因此需要重写ValidationDecoratorStyle的Template。
示例如下:
页: [1]
查看完整版本: C1MaskedTextBox验证样式的问题