WPF Listboxitem事件触发器显示弹出窗口

时间:2011-10-24 13:56:02

标签: wpf popup listboxitem eventtrigger

我几乎坚持这一点,需要一些见解。当用户将鼠标移到listboxitem时,我想显示鼠标当前所在项目的一些细节(希望我有意义:()

要演示我想要实现的目标,请参阅示例代码

public class Customer
{
    public String FirstName { get; set; }
    public Image CustomerPhoto { get; set; }

    public Customer(String firstName, Image customerPhoto)
    {
        this.FirstName = firstName;
        this.CustomerPhoto = customerPhoto;
    }

}

public class Customers : ObservableCollection<Customer>
{
    public Customers()
    {
        Image simpleImage = new Image();    
        BitmapImage bi = new BitmapImage();
        bi.BeginInit();
        bi.UriSource = new Uri(@"c:\image.jpg",UriKind.RelativeOrAbsolute);
        bi.EndInit();
        simpleImage.Source = bi; 
        Add(new Customer("Customer", simpleImage));
    }
}

XAML

<ListBox ItemsSource="{StaticResource customers}">
  <ListBox.ItemTemplate>
        <DataTemplate>
            <StackPanel Orientation="Horizontal">
                <TextBlock Text="{Binding FirstName}" />
            </StackPanel>
        </DataTemplate>
    </ListBox.ItemTemplate>
</ListBox>

现在,当用户将鼠标悬停在列表框项目上时,我想在弹出窗口中显示customerphoto。

非常感谢

P.S:在写这篇文章时,代码被“熟化”,所以仅用于演示。列表框中将有多个项目,将鼠标悬停在每个项目上必须显示与该对象关联的照片。

1 个答案:

答案 0 :(得分:0)

为什么不使用ToolTip?在WPF中,工具提示不必是纯文本的

<TextBlock.ToolTip>
    <ToolTip>
        <Image Source="{Binding CustomerPhoto}" />
    </ToolTip>
</TextBlock.ToolTip>