WPF自定义tooltip样式

本文探讨了WPF中Tooltip与Popup的区别,强调Tooltip在用户体验上的优势,如自动显示和隐藏。同时,介绍了Tooltip能接受类对象作为内容以自定义样式模板的特点,并给出了相关代码示例,展示了如何在WPF应用中实现自定义Tooltip。

tooltip其实和popup很像,但是popup弹出后需要监听鼠标点击事件,所以触感不流畅,弹出后不会自己消失

而tooltip在鼠标滑过时会显示,移开后会隐藏

tooltip因为可以接受类对象,所以可以传任意内容给样式模板

代码:

    <!-- =============== 提示文本样式 =============== -->
    <Style x:Key="FlowToolTip" TargetType="ToolTip">
        <Setter Property="HorizontalAlignment" Value="Left"/>
        <Setter Property="VerticalAlignment" Value="Top"/>
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate>
                    <Grid>
                        <Border Background="White" CornerRadius="2">
                            <Border.Effect>
                                <DropShadowEffect Direction="0" BlurRadius="7" ShadowDepth="0" Color="Black" Opacity="0.09" />
                            </Border.Effect>
                        </Border>
                        <TextBlock  
                            Margin="23,6"
                            FontFamily="{StaticResource DefaultFontFamily}"
                            FontSize="13"
                            Foreground="{StaticResource MinorText}"
                            Text="{TemplateBinding ContentControl.Content}"/>
                    </Grid>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>

使用方法:

<!-- 提示框样式 -->
<Grid.ToolTip>
	<ToolTip x:Name="tooltip" 
			 Style="{StaticResource FlowToolTip}" 
			 Content="{Binding Tooltip}"
			 PlacementTarget="{Binding ElementName=itemGrid}"
			 Placement="Bottom" VerticalOffset="4"
			 />
</Grid.ToolTip>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值