用WPF实现在LISTVIEW中的鼠标悬停TOOLTIP显示

 

一、具体需求描述

    在WPF下实现,当鼠标悬停在ListView中的某一元素的时候能弹出一个ToolTip以显示需要的信息。

二、代码实现

在.XMAL文件中

 

<Window.Resources>
        <DataTemplate x:Key="dataTemplateCheckBox">
            <StackPanel Orientation="Horizontal">
                <CheckBox Name="listchk" />
            </StackPanel>
        </DataTemplate>
        <ToolTip x:Key="InforTip">
            <StackPanel Orientation="Horizontal">
                <TextBlock Text="Name:" />
                <TextBlock Text="{Binding Path=Name}"/>
                <TextBlock Text="Type:" />
                <TextBlock Text="{Binding Path=ClassDisplayText}"/>
            </StackPanel>
        </ToolTip>
        <Style x:Key="InforTipStyle" TargetType="{x:Type ListViewItem}">
            <Setter Property="ToolTip" Value="{Binding Source={StaticResource InforTip}}" />
        </Style>
</Window.Resources>

 

在listview 元素中加入ItemContainerStyle="{StaticResource InfoTipStyle}"

如下所示代码:


        <ListView Margin="10,41,12,52" Name="listDevice" VirtualizingStackPanel.IsVirtualizing="False" ItemContainerStyle="{StaticResource InforTipStyle}">
            
<ListView.View>
                
<GridView>
                   
<GridViewColumn Header="Device Name" DisplayMemberBinding="{Binding Path=Name}" Width="200">
                   
</GridViewColumn>
                   
<GridViewColumn Header="Device Type" DisplayMemberBinding="{Binding Path=ClassDisplayText}" Width="100"/>
               
</GridView>
           
</ListView.View>
       
</ListView>

 

三、心得

    调用顺序就是listview呈现出预定的style, InfoTipStyle 调用声明好的tooltip。

    由于是刚刚接触WPF,所以对很多东西都没有太多心得。希望大家积极参与讨论…… 如果你也在学习WPF可以联系我哦!

ps:另外大家还可以参考下这个网址下的文章…… 我就是从这里得到的启示!

http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/1508ee76-674c-42cf-88f6-1237d039f65f

 

我转自于:http://www.cnblogs.com/Rongkuiliu/archive/2008/10/16/1312709.html,感谢作者的整理,谢谢。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值