Невозможно установить стиль содержимого подсказки - PullRequest
0 голосов
/ 07 мая 2020

Я попытался установить свойство содержимого всплывающей подсказки в стиле. Но текст всплывающей подсказки отображается как System. Windows .Style. Может ли кто-нибудь помочь мне с тем, что я делаю неправильно?

<TextBlock HorizontalAlignment="Left" Margin="149,45,0,0" TextWrapping="Wrap" Text="TextBlock" VerticalAlignment="Top" Height="29" Width="121">
        <TextBlock.ToolTip>
            <Style TargetType="{x:Type ToolTip}">
                <Setter Property="Content" Value="ToolTip Test"/>
                <Setter Property="Foreground" Value="Red"/>
                <Setter Property="Foreground" Value="White"/>
            </Style>
        </TextBlock.ToolTip>
    </TextBlock>

Image Reference

1 Ответ

2 голосов
/ 07 мая 2020

Вы должны назначить ToolTip свойству TextBox.ToolTip, а затем присвоить Style ToolTip.Style:

<TextBlock HorizontalAlignment="Left" Text="TextBlock">
  <TextBlock.ToolTip>
    <ToolTip>
      <ToolTip.Style>
        <Style TargetType="{x:Type ToolTip}">
          <Setter Property="Content" Value="ToolTip Test" />
          <Setter Property="Foreground" Value="Red" />
          <Setter Property="Foreground" Value="White" />
        </Style>
      </ToolTip.Style>
    </ToolTip>
  </TextBlock.ToolTip>
</TextBlock>

При установке FrameworkElement.ToolTip напрямую, объект неявно переносится в ToolTip. Поскольку Style не является FrameworkElement и не может быть отображен, ContentControl (ToolTip) вызывает object.ToString в содержимом (Style в вашем случае), который возвращает полное имя типа как string по умолчанию.

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