HTML 为什么当我为工具提示定义样式时会看到类名工具提示

HTML 为什么当我为工具提示定义样式时会看到类名工具提示

问题描述

我为工具提示创建了一个样式。这是样式:

<Style TargetType="ToolTip" x:Key="ToolTipDefaultStyle">
    <Setter Property="ToolTipService.ShowOnDisabled" Value="true"/>
    <Setter Property="ToolTipService.InitialShowDelay" Value="{StaticResource TooltipInitialShowDelay}"/>
    <Setter Property="ToolTipService.ShowDuration" Value="{StaticResource TooltipDisplayTime}"/>
    <Setter Property="ContentTemplate">
        <Setter.Value>
            <DataTemplate>
                <StackPanel>
                    <TextBlock Text="{Binding RelativeSource={RelativeSource AncestorType=ToolTip}}" TextWrapping='Wrap'
                               Margin="10"/>
                </StackPanel>
            </DataTemplate>
        </Setter.Value>
    </Setter>
</Style>

这是我在一个控件中使用它:

<StackPanel ToolTip="{Binding MyViewModelProperty}">

    ..........

    <StackPanel.Resources>
        <Style TargetType="ToolTip" BasedOn="{StaticResource ToolTipDefaultStyle}"/>
    </StackPanel.Resources>
</StackPanel>

问题在于,工具提示,在开始时显示的是这个文本:“System.Windows.Controls.ToolTip”。之后,它会显示我想要显示的文本。

如何避免显示这个初始文本呢?

我想要的是为应用程序中的所有控件定义一个样式。

解决方案

ToolTip控件是一个ContentControlContentTemplateDataContext将成为Content属性。

所以你只需要将TextBlock的绑定改为:

<TextBlock
    Margin="10"
    Text="{Binding}"
    TextWrapping="Wrap" />

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程

HTML 精选笔记