Styling ToolTipService.Tooltip - PullRequest
       4

Styling ToolTipService.Tooltip

1 голос
/ 17 апреля 2009

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

<Style TargetType="{x:Type TextBox}">
 <Style.Triggers>
  <Trigger Property="Validation.HasError" Value="true">
    <Setter Property="ToolTip" Value="{Binding RelativeSource={RelativeSource Self}, Path=(Validation.Errors).CurrentItem.ErrorContent}" />
  </Trigger>
 </Style.Triggers>
</Style>

Как заставить WPF использовать errorTTStyle именно для этой ситуации (я знаю, что могу изменить глобальный стиль tootlip, но это не то, что я хочу)

1 Ответ

1 голос
/ 17 апреля 2009

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

<Style TargetType="{x:Type TextBox}">

   <Style.Resources>
        <Style TargetType="{x:Type ToolTip}" BasedOn="{StaticResource errorTTStyle}" />
   </Style.Resources>      

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