Как отобразить текст текстового поля во всплывающей подсказке, если не происходит ошибка проверки.В противном случае показать ошибку проверки - PullRequest
2 голосов
/ 05 января 2012

У меня есть текстовое поле, которое проверяет дату.

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

Я установил стандартную подсказку для текста и добавил пару триггеров:

<MultiTrigger>
   <MultiTrigger.Conditions>
      <Condition Property="Validation.HasError"
                 Value="False" />
      <Condition Property="Text"
                 Value="" />
    </MultiTrigger.Conditions>
    <MultiTrigger.Setters>
       <Setter Property="ToolTipService.ToolTip"
               TargetName="DataTextBox"
               Value="{x:Null}"/>
    </MultiTrigger.Setters>
</MultiTrigger>

<MultiTrigger>
   <MultiTrigger.Conditions>
      <Condition Property="Validation.HasError"
                 Value="True" />
    </MultiTrigger.Conditions>
    <MultiTrigger.Setters>
       <Setter Property="ToolTipService.ToolTip"
               TargetName="DataTextBox"
               Value="{Binding (Validation.Errors)[0].ErrorContent}"/>
    </MultiTrigger.Setters>
</MultiTrigger>

Мне нужно что-то вроде отрицательногопроверить, добавлен ли текст в текстовое поле.

Спасибо за помощь.

1 Ответ

4 голосов
/ 05 января 2012

Просто привяжите всплывающую подсказку к TextBox's Text по умолчанию и используйте Trigger, чтобы установить ошибку проверки, если элемент содержит ошибку.

<Style x:Key="MyTextBoxStyle" TargetType="{x:Type TextBox}">
    <Setter Property="ToolTip" 
            Value="{Binding RelativeSource={RelativeSource Self}, Path=Text}" />

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

Кроме того, вы не должны использовать MultiDataTrigger, если вы не оцениваете более одного условия

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