WPF TextBox Проверка результатов ToolTip - PullRequest
5 голосов
/ 22 января 2010

Экспериментируя с проверкой ввода 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>

Мне показалось очень неудобным, что всплывающая подсказка отображается не в процессе ввода текста в поле «Текст», а в тот момент, когда возникает ошибка проверки, а только после того, как указатель мыши умышленно надет на текстовое поле.

Это, кажется, нарушает ожидания пользователя относительно удобства использования пользовательского интерфейса, поэтому я предпочел поместить результаты проверки в отдельный текстовый блок, автоматически и мгновенно появляющийся в тот момент, когда возникает ошибка проверки ввода.

Но, возможно, я ошибаюсь и неправильно использую подсказку? Может быть, есть настройки свойств ToolTip, позволяющие отображать ToolTip без преднамеренного наведения мыши на TextBox?

Отредактировано (добавлено):

Использование всплывающей подсказки для отображения результатов проверки ввода TextBox, которую я нашел в документации Microsoft MSDN:

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

Используете ли вы всплывающие подсказки для отображения ошибок проверки? Если да, то как вы ладите с тем фактом, что пользователь никогда не увидит его (если он / она не догадывается навести мышь на текстовое поле)?

1 Ответ

5 голосов
/ 22 января 2010

Я полагаю, что вы используете ToolTip неправильным образом, свойство ToolTip предназначено для предоставления небольшой контекстной помощи пользователю об определенном элементе управления, когда они наводят на него указатель мыши, поэтому он появляется только при наведении мыши.

Например, если у вас есть текстовое поле для ввода пользователем своего телефонного номера, вы можете указать всплывающую подсказку «Пожалуйста, введите свой номер телефона здесь».

Для проверки формы ваша идея TextBlock звучит намного лучше. Кроме того, у вас есть отличный контроль над дисплеем, так как он полностью контролируется.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...