先贴代码
<Window.Resources>
<FontFamily x:Key="PingFangSCRegular">/WpfApplication2;Component/Fonts/#PingFang SC Regular</FontFamily>
<Style x:Key="MyToolTipStyle" TargetType="ToolTip">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate>
<StackPanel>
<Path HorizontalAlignment="Right" VerticalAlignment="Center" Data="M 6 0 L 0 6 L 12 6 Z" Fill="#E6333333" Margin="0,0,10,0"/>
<Border CornerRadius="2" Background="#E6333333" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
<TextBlock Text="{TemplateBinding ContentControl.Content}" Foreground="White" FontFamily="{StaticResource PingFangSCRegular}" LineHeight="20" Margin="6"/>
</Border>
</StackPanel>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</Window.Resources>
<Grid>
<Button Name="btnTest" Content="Button" HorizontalAlignment="Left" Margin="180,96,0,0" VerticalAlignment="Top" Width="21" Height="18" Click="btnTest_Click">
<Button.ToolTip>
<ToolTip Name="aaa" Style ="{DynamicResource MyToolTipStyle}" Content="按钮提示按钮提示按钮提示按钮提示" VerticalOffset="-10" HorizontalOffset="-180"/>
</Button.ToolTip>
</Button>
</Grid>
1.tooltip相对位置修改:
参考了:https://www.cnblogs.com/greenteaone/archive/2010/12/15/1906890.html
VerticalOffset="-10" HorizontalOffset="-180" 这两个是相对于鼠标的位置修改
2.增加箭头:
<Path HorizontalAlignment="Right" VerticalAlignment="Center" Data="M 6 0 L 0 6 L 12 6 Z" Fill="#E6333333" Margin="0,0,10,0"/>
在样式里面增加了一个path,就是图形,自定义了一个三角形,看上去和箭头一样,具体的path data的定义,可以参考:
https://blog.csdn.net/feiying008/article/details/13094539
3.圆角设置:样式里面的Border的属性CornerRadius=“2”
4.样式修改:之前没接触过样式,后来百度学习了下,发现就是在xaml最前面增加如下内容
<Window.Resources>
<Style x:Key="MyToolTipStyle" TargetType="ToolTip">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate>
//style的内容
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</Window.Resources>
其中MyToolTipStyle是style名称,后面的ToolTip是style可以运用控件的类型,ControlTemplate里面的具体你设计的风格内容。