2011-10-10 131 views
2

在Silverlight中使用默认验证处理时(使用ValidatesOnExceptions = True,NotifyOnValidationError = True),
您通常会在文本框一侧获得异常消息。

我想更改验证消息的位置(异常消息)并将其放在文本框的顶部。任何想法,我怎么能做到这一点。我找不到任何有关更改网络上错误消息位置的文献。Silverlight验证消息位置

回答

4

这是(IMO)在默认验证用户界面中的一个可悲的疏忽。应该有一种方法可以指定工具提示放置值,而不是将模板中的放置值固定为“正确”。

因此,要更改此设置,您需要访问此MSDN主题Textbox Styles and Templates,复制TextBox默认样式和引用的“ValidationToolTipTemplate”。将这些添加到新的ResourceDictionary文件,并给TextBoxStyle一个键值。您现在可以调整文本框模板中的验证工具提示Placement属性。

包含在任何你App.xaml中或您的用户控件/页的资源这一新ResourceDictionary作为合并字典和这种风格分配给您的TextBoxStyle财产。

只是一个简单的改变过度陋习,但没有其他办法。有利的是,您可以使用文本框样式和/或验证工具提示来做各种其他事情,现在您可以在自己的代码中使用它们。

+0

如果有什么,我觉得这种事情更多的是Visual Studio设计师的疏忽。在Expression Blend中进行这种更改非常简单。右键单击对象模板 - >编辑一个副本,然后获取整个模板进行编辑。 – Brandorf

+2

@Brandorf:如果VS做了Blend能做的所有事情,那么MS将如何销售Expression? ;) – AnthonyWJones

+1

谢谢安东尼..我的问题解决了。我已经在https://gist.github.com/1276226上传了silverlight视图,供任何寻求帮助的人查看此问题。 – Subhasis