双击列表框项目以打开浏览器
我的 wpf 窗口中有一个 ListBox
,它绑定到 ObervableCollection
。 如果有人单击 ListBox 的元素(就像链接一样),我想打开浏览器。 有人可以告诉我该怎么做吗? 我发现了一些带有 listboxviews 的东西,它是否只能以这种方式工作,或者是否有一种仅使用 ListBox
的方法?
你的
塞巴斯蒂安
I have a ListBox
in my wpf window that binds to an ObervableCollection
. I want to open the browser if someone clicks on an element of the ListBox
(just like a link). Can someone tell me how to do this? I found something with listboxviews, does it only work this way or is there a way by just using the ListBox
?
Yours
Sebastian
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
您可以将样式添加到 ListBox.ItemContainerStyle,然后添加一个 EventSetter :
ListBoxItem_MouseDoubleClick 是代码后面的方法具有 的正确签名鼠标双击。
You can add a style to ListBox.ItemContainerStyle, and add an EventSetter there:
ListBoxItem_MouseDoubleClick is a method in your code behind with the correct signature for MouseDoubleClick.
我想解决这个问题,而不需要在代码隐藏中处理 listBoxItem 双击事件,并且我不想必须重写 listBoxItem 样式(或首先定义要重写的样式)。 我想在双击列表框时触发一个命令。
我创建了一个像这样的附加属性(代码非常具体,但您可以根据需要概括它):
然后我使用附加属性和我的目标命令声明我的列表框:
希望这会有所帮助。
I wanted to solve this without needing to handle the listBoxItem double click event in the code-behind, and I didn't want to have to override the listBoxItem style (or define the style to override in the first place). I wanted to just fire a command when the listBox was doubleclicked.
I created an attached property like so (the code is very specific, but you can generalise it as required):
I then declare my ListBox with the attached property and my target command:
Hope this helps.
我更新了 AndrewS 解决方案,以便解决双击列表框中任意位置时触发执行命令的问题:
在 XAML 中,ListBox 的声明是:
I have updated AndrewS solution in order to solve the issue with firing executing the command if double click anywhere in the list box:
And in the XAML the declaration for the ListBox is:
我使用了 Expression SDK 4.0
Jaimir G。
I Used Expression SDK 4.0
Jaimir G.
下面是在
ListBox
和ListView
上完成此操作的行为。 这是基于 Andrew S. 和 Vadim Tofan 的回答,干得好!这是用于查找父级的扩展类。
用法:
Here's a behavior that gets that done on both
ListBox
andListView
. This is based of answers from Andrew S. and Vadim Tofan, great job guys!Here's the extension class used to find the parent.
Usage: