gpt4 book ai didi

WPF 上下文菜单和 ListView

转载 作者:行者123 更新时间:2023-12-04 19:34:56 26 4
gpt4 key购买 nike

好的,希望这很简单,但由于某种原因,我找不到直接的答案,而且我对 WPF 还不够熟悉,还不知道该怎么做。

我有一个 ListView ,它绑定(bind)到要显示的可观察对象集合。我想要一个带有一堆选项的上下文菜单。上下文菜单中的选项与单击列表中的特定对象相关(例如删除、导出等)。

所以我需要用户在我的 ListView 中右键单击的对象作为参数传递给上下文菜单执行的命令。

我该怎么做呢?

编辑:我应该提到我更喜欢主要(如果不是全部)xaml 的解决方案 - 我试图避免在代码隐藏中包含重要代码。如果这是唯一的方法,但......

进一步编辑 : 更多我忘记提及的细节很重要。我要执行的命令是在绑定(bind)到我的用户控件的数据上下文的对象上,而不是在 ListView 中的对象上。因此,我需要将 ListView 项目上的上下文菜单绑定(bind)到用户控件数据上下文中的命令,并将 ListView 项目作为参数传递给该命令。

最佳答案

这取决于您的ContextMenu是单个项目的模板的一部分,或者如果它作为一个整体附加到 ListBox。

如果您要附上您的 ContextMenu使用 DataTemplate 到列表中的项目(这通常是最好的方法),DataContextMenuItem已经设置好了,所以你需要做的就是:

<MenuItem ... CommandParameter="{Binding}" />

另一方面,如果您的 ContextMenu附于 ListBox总的来说,您需要访问 SelectedItem ListBox 的属性(property):
<MenuItem ... CommandParameter="{Binding SelectedItem, RelativeSource={RelativeSource FindAncestor,ListBox,1}} />

关于WPF 上下文菜单和 ListView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2254577/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com