【问题标题】:WPF TextBox Validating results ToolTipWPF 文本框验证结果工具提示
【发布时间】:2011-01-08 08:03:47
【问题描述】:

尝试使用 WPF 验证输入,我尝试使用 ToolTip 显示 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?也许有一些 ToolTip 属性的设置使得 ToolTip 能够在没有故意将鼠标悬停在 TextBox 上的情况下出现?

已编辑(添加):

使用 ToolTip 显示我在 Microsoft MSDN 文档中找到的 TextBox 输入验证结果:

https://docs.microsoft.com/en-us/dotnet/desktop/wpf/data/?view=netdesktop-5.0&redirectedfrom=MSDN#data-validation

您是否使用工具提示来显示验证错误?如果是这样,您如何处理用户永远看不到它的事实(如果他/她没有猜测将鼠标悬停在文本框上)?

【问题讨论】:

    标签: wpf validation user-interface properties tooltip


    【解决方案1】:

    我认为您使用 ToolTip 的方式有误,ToolTip 属性旨在为用户在将鼠标悬停在某个控件上时提供小的上下文帮助,这就是为什么它只出现在鼠标悬停时。

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

    对于表单验证,您的 TextBlock 想法听起来要好得多。此外,您可以很好地控制显示,因为它是一个完整的控制。

    【讨论】:

    • 谢谢,帕特里克!事实上,可以在 Microsoft MSDN 文档中找到使用 ToolTip 显示 TextBox 输入验证结果的方法。我添加了一个指向我编辑的问题的链接。
    • 呵呵,我从没见过这么用的 ToolTip。感谢您的链接!
    猜你喜欢
    • 2021-02-04
    • 1970-01-01
    • 2011-07-20
    • 2017-06-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-17
    相关资源
    最近更新 更多