在 WPF 中,我试图在列表框的项目上放置一个上下文菜单。当我运行我的应用程序并右键单击列表框的一个项目时,菜单会弹出一秒钟,然后再次关闭。我只是无法弄清楚我做错了什么。
这是我正在使用的代码:
<ListBox Grid.Column="0" Name="lsbAddedElements" Width="150" Margin="3,3,3,3"
SelectionMode="Multiple">
<ListBox.ItemContainerStyle>
<Style TargetType="ListBoxItem">
<Setter Property="ContextMenu">
<Setter.Value>
<ContextMenu>
<MenuItem Header="Delete" Click="btnDeleteElement_Click"></MenuItem>
</ContextMenu>
</Setter.Value>
</Setter>
</Style>
</ListBox.ItemContainerStyle>
</ListBox>
初始化窗口时,列表框在代码中绑定到 ObservableCollection,因此项目管理在后面的代码中处理。
更新:
我可能需要补充一点,thsi 是我为 Excel 制作的 adin 的一部分。我正在使用 ExcelDNA 连接到 Excel,然后将句柄传递给该代码片段所属的 WPF 窗口。这可能是上下文菜单以意想不到的方式表现的原因吗?