我有一个标签控件,右键单击标签页显示上下文菜单。 当点击名为“关闭”的菜单项时,我想关闭用户右键单击的标签项。
这是一个问题。 如果我有TabItem1和TabItem2并且选择了TabItem1。然后右键单击TabItem2并单击“关闭”。此时,TabItem1仍然是选中的项目,但我想关闭TabItem2,我不知道如何获取TabItem2。
如果我可以得到光标在控件中(而不是直接在b / c上,它直接在我添加到选项卡项标题的TextBlock上),我将能够找到控件并从Tabcontrol中删除它。项目
任何帮助都将不胜感激。
由于
答案 0 :(得分:0)
使用ContextMenuOpening事件确定打开上下文菜单的选项卡,然后无需担心鼠标:
<TabControl TabItem.ContextMenuOpening="ContextMenu_ContextMenuOpening">
<TabControl.Resources>
<ContextMenu x:Key="context_menu" >
<MenuItem Header="Option 1" />
<MenuItem Header="Option 2" />
</ContextMenu>
</TabControl.Resources>
<TabItem x:Name="tab1" Header="Tab 1" Content="This is Tab 1" ContextMenu="{StaticResource context_menu}" />
<TabItem x:Name="tab2" Header="Tab 2" Content="This is Tab 2" ContextMenu="{StaticResource context_menu}" />
</TabControl>
事件处理程序:
private void ContextMenu_ContextMenuOpening(object sender, ContextMenuEventArgs e)
{
//get the tab item:
TabItem bob = e.Source as TabItem;
}