且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

用WPF实现在ListView中的鼠标悬停Tooltip显示

更新时间:2022-09-10 09:06:58

原文:用WPF实现在ListView中的鼠标悬停Tooltip显示

一、具体需求描述

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

二、代码实现

在.XMAL文件中

 

Code
<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}"

如下所示代码:

Code
<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