我有一个带有TabControl的窗口,其中包含两个TabItems(我们称之为“A”和“B”)。选项卡A有几个ContextMenus:我希望每个MenuItem都将TabItem更改为选项卡B.理想情况下,我会编写一个MenuItem模板,在选择MenuItem时切换选项卡。这可能吗?
编辑: 我最终使用的解决方案依赖于ContextMenus中的MenuItems,它源自定义click事件和处理程序的基本样式:
<Window.Resources>
<ResourceDictionary>
<Style TargetType="MenuItem" x:Key="ContextMenuItemBase">
... (various stylings)
<EventSetter Event="Click" Handler="MenuItem_Clicked"/>
</Style>
</ResourceDictionary>
</Window.Resources>
我将要切换到的标签控件和标签项命名为:
<TabControl x:Name="tcTabs">
...
<TabItem Header="Results" x:Name="tiResultsTab">
然后在MainWindow.xaml.cs代码隐藏文件中:
private void MenuItem_Clicked(object sender, RoutedEventArgs e)
{
tcTabs.SelectedItem = tiResultsTab;
}
答案 0 :(得分:0)
订阅菜单选择活动。在处理操作的方法内部,然后通过方法参数提取哪个菜单,该方法参数标识Sender
(可能用另一个标签参考标记Tag
属性(?))。然后更改为相应的目标选项卡。