2010-01-22 39 views
5

与WPF验证输入进行实验,我试图用工具提示,用于显示文本框输入验证的结果,这样的:WPF的TextBox验证结果的工具提示

<Style.Triggers> 
<Trigger Property="Validation.HasError" Value="true"> 
    <Setter 
     Property="ToolTip" 
     Value="{Binding RelativeSource={RelativeSource Self}, 
     Path=(Validation.Errors)[0].ErrorContent}"/> 
    </Trigger> 
</Style.Triggers> 

这似乎对我来说非常不方便,那工具提示中显示不在发生验证错误时,在文本框中输入文本的过程,但只有在鼠标指针有意地放在文本框之后。

这似乎违反了用户对UI可用性的期望,所以我最好将验证错误结果放在单独的TextBlock中,当输入验证错误发生时,此时自动立即出现。

但也许我错了,不正确地使用ToolTip?也许有工具提示属性的设置使得工具提示能够出现而不用在TextBox上有意的鼠标悬停?

编辑(添加):

使用工具提示,用于显示文本框输入验证的结果我微软MSDN文档中发现:

http://msdn.microsoft.com/en-us/library/ms752347.aspx#data_validation

你使用工具提示用于显示验证错误?如果是这样,你如何相信用户永远不会看到它(如果他/她没有猜测把鼠标悬停在文本框上)?

回答

5

我相信你正在使用的工具提示错误的方式,工具提示属性意味着提供关于某个控制用户小上下文帮助时,他们将其鼠标在它,这就是为什么它只是在鼠标悬停出现。

例如,如果您有一个用户输入电话号码的文本框,您可能希望提供一个工具提示“请在此输入您的电话号码”。

对于表单验证,您的TextBlock想法听起来好多了。另外,你可以很好地控制显示器,因为它完全控制。

+1

谢谢,帕特里克!事实上,使用ToolTip显示TextBox输入验证的结果可以在Microsoft MSDN文档中找到。我已经添加了一个链接到我编辑的问题。 – rem 2010-01-23 16:52:08

+0

呵呵,我从来没有见过像这样使用ToolTip。感谢您的链接rem! – 2010-01-25 13:42:49