用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=Type}"/>
        </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 Height="373" HorizontalAlignment="Left" Margin="12,85,0,0" Name="listViewMovies" VerticalAlignment="Top" Width="567" ItemContainerStyle="{StaticResource InforTipStyle}">
            <ListView.View>
                <GridView>
                    <GridViewColumn Header="片名" DisplayMemberBinding="{Binding Path=Name}" />
                    <GridViewColumn Header="类型" DisplayMemberBinding="{Binding Path=Type}" />
                    <GridViewColumn Header="状态" DisplayMemberBinding="{Binding Path=State}" />
                    <GridViewColumn Header="备注" DisplayMemberBinding="{Binding Path=Remarks}" />
                    <GridViewColumn Header="更新时间" DisplayMemberBinding="{Binding Path=UpdateTime}" />
                    <GridViewColumn Header="演员" DisplayMemberBinding="{Binding Path=Actor}" />
                    <GridViewColumn Header="地区" DisplayMemberBinding="{Binding Path=Area}" />
                </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

原文地址:https://www.cnblogs.com/wangchunming/p/2509316.html