整个ToolTip的Backgroundcolor

时间:2012-12-10 18:58:13

标签: c# wpf xaml background tooltip

有没有人知道一个简单的XAML解决方案来改变ToolTip的整个背景?

我做了以下事情:

<Image Height="16" Source="Images/Icons/Add2.png" Stretch="Fill" Width="16" Opacity="0.99" Grid.Column="0">
    <Image.ToolTip>
        <Grid Background="#000000">
             <Grid.RowDefinitions>
                <RowDefinition />
                <RowDefinition />
             </Grid.RowDefinitions>
             <TextBlock Text="Header1" FontSize="15" Grid.Row="0"/>
             <TextBlock Text="Subitem" FontSize="12" Grid.Row="1"/>
         </Grid>
    </Image.ToolTip>
</Image>

但结果看起来像是:

Tooltip background color

有什么建议吗?

2 个答案:

答案 0 :(得分:7)

问题在于,您所做的一切只是设置工具提示的内容,而不是工具提示本身。

因此,您需要设置工具提示的样式以实现此目的。如本文所示,有一些方法可以使用资源:

WPF- Changing Tooltip background to Transparent

或者您可以更改代码以使用显式工具提示包装该网格并设置其背景属性:

<Image.ToolTip>
    <ToolTip Background="Black">
        <Grid>
            ...
        </Grid>
    </ToolTip>
</Image.ToolTip>

答案 1 :(得分:0)

要设置工具提示背景,您可以覆盖父控件的工具提示样式。以下是添加样式的代码。

<Image Height="16" Source="Images/Icons/Add2.png" Stretch="Fill" Width="16" Opacity="0.99" Grid.Column="0">
    <Image.Resources>
        <Style TargetType="ToolTip" BasedOn="{StaticResource {x:Type ToolTip}}">
            <Setter Property="Background" Value="#000000" />
        </Style>
    </Image.Resources>
    <Image.ToolTip>
        <Grid>
             <Grid.RowDefinitions>
                <RowDefinition />
                <RowDefinition />
             </Grid.RowDefinitions>
             <TextBlock Text="Header1" FontSize="15" Grid.Row="0"/>
             <TextBlock Text="Subitem" FontSize="12" Grid.Row="1"/>
         </Grid>
    </Image.ToolTip>
</Image>