【发布时间】:2013-06-08 01:14:50
【问题描述】:
有类似的问题,但正如我将解释的那样,他们的答案似乎对我不起作用。
我有一个带有 ItemsSource 的 Listbox 为其提供数据...
<ListBox Name="lbPatternResults" SelectionMode="Multiple">
<ListBox.ContextMenu>
<ContextMenu>
<MenuItem Header="Get current values" Click="GetCurrentValuesForID"/>
</ContextMenu>
</ListBox.ContextMenu>
</ListBox>
ItemsSource 属性在别处设置为 IEnumerable。
单击菜单项时,发送者为MenuItem,其父项为ContextMenu。通常,要获得ListBoxItem,人们会被告知使用上下文菜单的PlacementTarget,但在我的情况下,它不是ListBoxItem......它是ListBox。我怎么从这里走?我只想要列表中行的索引或值...
编辑:它不是 ListBox 的 SelectedIndex(可以有一个选定的索引,另一个是您从中获取菜单的索引)。
【问题讨论】:
-
您是否尝试将您的
ContextMenu添加到您的DataTemplate或ListBoxItem而不是ListBox,然后使用PlacementTarget? -
我尝试过类似的方法。得到 XAMLParseException 说 ContextMenu 不能有一个视觉或逻辑父。
-
我添加了一个适合我的小例子。试试看
标签: c# wpf contextmenu listboxitem