在WPF中当我尝试使用CTRL+TAB切换选项卡时

问题描述 投票:0回答:1

在 WPF 中,当我尝试使用 CTRL+TAB 切换选项卡时,它可以正常工作,但是如果选项卡位于父选项卡内,则子选项卡需要仅移动父选项卡?

我尝试添加外部方法,但它不起作用。

我希望当用户使用 CTRL+TAB 时仅父选项卡更改光标而不转到内部选项卡。

wpf wpf-controls
1个回答
0
投票

您可以抑制子选项卡项目上的事件,并通过在后面的代码中执行类似以下操作来重新引发它:

        private void TabControl_KeyDown(object sender, KeyEventArgs e)
        {
            ParentTabs.RaiseEvent(e);
            e.Handled = true;
        }

在 xaml 中,引用该处理程序:

        <TabControl x:Name="ParentTabs">
            <TabItem Header="Parent 1">
                <TextBlock Text="Parent 1" />
            </TabItem>
            <TabItem Header="Parent 2">
                <TabControl>
                    <TabItem Header="Sub 1" KeyDown="TabControl_KeyDown">
                        <TextBlock Text="Sub 1" />
                    </TabItem>
                    <TabItem Header="Sub 2" KeyDown="TabControl_KeyDown">
                        <TextBlock Text="Sub 2" />
                    </TabItem>
                    <TabItem Header="Sub 3" KeyDown="TabControl_KeyDown">
                        <TextBlock Text="Sub 3" />
                    </TabItem>
                </TabControl>
            </TabItem>
            <TabItem Header="Parent 3">
                <TextBlock Text="Parent 3" />
            </TabItem>
        </TabControl>

© www.soinside.com 2019 - 2024. All rights reserved.