首页 > 解决方案 > 无法在样式中设置工具提示内容

问题描述

我尝试在样式中设置 Tooltip 内容属性。但工具提示文本显示为 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>

图片参考

标签: wpfxaml

解决方案


您必须将 a 分配ToolTip给该TextBox.ToolTip属性,然后将其分配StyleToolTip.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不是 aFrameworkElement并且无法呈现,因此ContentControl( ToolTip) 调用object.ToString内容(Style在您的情况下为),默认情况下返回完全限定的类型名称string


推荐阅读