相关疑难解决方法(0)

双击ListBox项以打开浏览器

ListBox在我的wpf窗口中绑定了一个ObervableCollection.如果有人点击了某个元素ListBox(就像链接一样),我想打开浏览器.谁能告诉我怎么做?我发现了listboxviews的一些东西,它只是以这种方式工作还是有一种方法只是使用ListBox

你的

塞巴斯蒂安

wpf binding listbox listboxitem

41
推荐指数
4
解决办法
4万
查看次数

如何在WPF中的ListBox中捕获鼠标单击项?

我希望在ListBox中的某个项被鼠标单击时得到通知,无论它是否已被选中.

我搜索并发现了这个:(http://kevin-berridge.blogspot.com/2008/06/wpf-listboxitem-double-click.html查看评论)

private void AddDoubleClickEventStyle(ListBox listBox, MouseButtonEventHandler mouseButtonEventHandler)
{
    if (listBox.ItemContainerStyle == null)
        listBox.ItemContainerStyle = new Style(typeof(ListBoxItem));
    listBox.ItemContainerStyle.Setters.Add(new EventSetter()
    {
        Event = MouseDoubleClickEvent,
        Handler = mouseButtonEventHandler
    });
}

//Usage:
AddDoubleClickEventStyle(listView1, new MouseButtonEventHandler(listView1_MouseDoubleClick));
Run Code Online (Sandbox Code Playgroud)

这是有效的,但它是为了它DoubleClick.虽然我不能让它工作一次.我试过MouseLeftButtonDownEvent- 因为似乎没有MouseClick事件,但它没有被调用.

一个更普遍的侧面问题:我怎样才能看到哪些事件确实存在,哪些处理程序与它们对应以及何时实际执行某些操作?例如,什么告诉我,MouseDoubleClickEvent我需要一个MouseButtonEventHandler?也许对于MouseLeftButtonDownEvent我需要一些其他处理程序,这就是为什么它不起作用?

我也尝试了子类化ListBoxItem和覆盖OnMouseLeftButtonDown- 但它也没有被调用.

wpf events listbox click listboxitem

33
推荐指数
4
解决办法
7万
查看次数

标签 统计

listbox ×2

listboxitem ×2

wpf ×2

binding ×1

click ×1

events ×1